追加のコンテナ要素なしでngIfを使用できますか?Angular2余分な要素なしでngIfを使用
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
..
</tr>
divを追加するとテーブルでは機能しません。
追加のコンテナ要素なしでngIfを使用できますか?Angular2余分な要素なしでngIfを使用
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
..
</tr>
divを追加するとテーブルでは機能しません。
ng-container
はtemplate
よりも優先されます。
<ng-container *ngIf="expression">
を参照してください:それは基本的に問題を解決するだろうが、あなたがコア能力をトレードオフするよ
div
を無効なHTMLにするtr
に直接入れることはできません。 tr
はその中に/th
/table
という要素しか含まれていません。&の中に他のHTML要素を持つことができます。
あなたは少し*ngFor
& tbody
上ngIf
以下のような自体tr
の上に持っている持っているあなたのHTMLを変更することができます。
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>
あなたはtbodyと一緒になります。あなたが大きなテーブルを持っているなら、頭を固定することができます。あなたのtbodyはtrとtrの役割を持ち、追加のラッパーの役割を果たすでしょう。頭をスクロールして固定する必要がない場合、これは実用的な解決策です。私が言ったことの私の参考資料:https://www.w3.org/TR/html401/struct/tables.html#h-11.2.3 – sascha10000
この方法は、https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-templateで見つかりました。
<template>
タグをそのまま使用して、*ngIf
を[ngIf]
のように置き換えてください。
<template [ngIf]="...">
...
</template>
良いですが、* ngIf itslefは 'template'タグを作成します。デフォルトでは、angle指示子prefix with *はテンプレートタグを作成します。両方とも同じ '[ngIf]と* ngIf'です。 –
' * ngIf'を使うと、テンプレートの中に要素があります。特定の状況下では、余分な要素が干渉する可能性があります。 – Teak
'template'タグを' tr'/'td'タグの中に入れることはできますか? –
HTMLの要素が作成されないことを確認するには、サンプルの "generate" HTMLスニペットを追加する必要があります。 –