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中にタグを入れることはできますか?trtd
*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>