ngIf
追加のコンテナー要素なしで使用できますか?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
これはテーブルでは機能しません。HTMLが無効になるためです。
ngIf
追加のコンテナー要素なしで使用できますか?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
これはテーブルでは機能しません。HTMLが無効になるためです。
回答:
ng-container
よりも優先されtemplate
ます:
<ng-container *ngIf="expression">
見る:
そのためのメソッドを見つけました:https : //angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template。
あなたは、単に使用することができ<template>
、タグをして置き換える*ngIf
と[ngIf]
、次のように。
<template [ngIf]="...">
...
</template>
template
タグを作成する場合、デフォルトでは、*を前に付けた角度ディレクティブの前にテンプレートタグが作成されます。両方が同じ[ngIf] and *ngIf
*ngIf
テンプレート内の要素を持っているあなたが書く場合、あなたはそうではないtemplate
自分自身を。特定の状況下では、追加の要素が干渉する可能性があります。
template
中にタグを入れることはできますか?tr
td
*ngIf="foo"
はラッピング<template [ngIf]="foo">
タグと同等だからです。つまり、template
+ []
== *
なので、[]
!= *
です。以外の*
すべての要素で意味があります。 template
div
内に直接配置することはできませんtr
。HTMLが無効になります。tr
だけ持つことができますtd
/ th
/ table
それに要素を&それらの内側に、あなたは他のHTML要素を持つことができます。
あなたは少し持っているあなたのHTMLを変更することができ*ngFor
オーバーtbody
&持っているngIf
上でtr
以下のように自分自身。
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>