ngIfFazladan bir kap elemanı olmadan kullanabilir miyim ?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
Bir tabloda çalışmaz çünkü bu geçersiz HTML yapar.
ngIfFazladan bir kap elemanı olmadan kullanabilir miyim ?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
Bir tabloda çalışmaz çünkü bu geçersiz HTML yapar.
Yanıtlar:
ng-containerşuna tercih edilir template:
<ng-container *ngIf="expression">
Görmek:
Bunun için bir yöntem buldum: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template .
Sadece <template>etiketi kullanabilir ve *ngIfbununla değiştirebilirsiniz [ngIf].
<template [ngIf]="...">
...
</template>
templateetiket oluşturuyorsa , varsayılan olarak açısal yönergeler öneki * ile bir şablon etiketi oluşturur. yani ikisi de aynı[ngIf] and *ngIf
*ngIfşablonun içinde bir elemanı var yazarsanız, yok templatekendini. Belirli koşullar altında, ekstra unsur müdahale edebilir.
templateetiket koyabilir miyiz ? trtd
*ngIf="foo"olmak, sarma <template [ngIf]="foo">etiketine eşdeğerdir . Kısacası, template+ []== *, yani []! = *. hariç* herhangi bir öğede anlamlıdır . template
divDoğrudan içine koyamazsınız tr, bu geçersiz HTML olur. triçinde yalnızca td/ th/ tableöğesi olabilir ve bunların içinde başka HTML öğelerine sahip olabilirsiniz.
Sen biraz var HTML'nizi değişebilir *ngForüzerinde tbody& sahip ngIfüzerinde trkendisi aşağıda gibi.
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>