template tag
*
使って書くtemplateよりもtemplate tagを使ったほうが良い場合があります。
こういうのよくありますよね。
<span *ngIf="isRequired">必須</span>
以下のように書き換えるといらないspanが消えます。template tagは実体を持たないためです。
<template [ngIf]="isRequired">必須</template>
angular1時代のng-repeat-start,end消えて困ってる方、ngForをtemplate tagを使って書きましょう。
<template ngFor let-item [ngForOf]="items">
<div>{{item.name}}</div>
<div>{{item.value}}</div>
</template>
便利だ!
なんだ、この書き方って思ったら以下を参照してください。
ng-container
Angular 2アンチパターン集のいくつかのタグをまとめて*ngForしたいときでまとめるによるとtemplateを直接書くのは古いやりかたで、ng-container
を使いましょうということです(わりと前からあったようですね)。
<ng-container *ngIf="isRequired">必須</ng-container>
<ng-container *ngFor="let item of items">
<div>{{item.name}}</div>
<div>{{item.value}}</div>
</ng-container>
読みやすい。ng-container
使いましょう。