追加のコンテナ要素なしで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>
div
をtr
の中に直接配置することはできません。これは無効なHTMLになります。 tr
にはtd
/th
/table
要素のみを含めることができ、その中には他のHTML要素を含めることができます。
*ngFor
over tbody
を持つようにHTMLをわずかに変更し、以下のようにngIf
over tr
自体を持つようにすることができます。
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>