Kann ich ngIfohne zusätzliches Containerelement verwenden?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
In einer Tabelle funktioniert dies nicht, da dies zu ungültigem HTML führen würde.
Kann ich ngIfohne zusätzliches Containerelement verwenden?
<tr *ngFor="...">
<div *ngIf="...">
...
</div>
<div *ngIf="!...">
...
</div>
</tr>
In einer Tabelle funktioniert dies nicht, da dies zu ungültigem HTML führen würde.
Antworten:
ng-containerwird bevorzugt gegenüber template:
<ng-container *ngIf="expression">
Sehen:
Ich habe eine Methode dafür gefunden: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-template .
Sie können einfach die Verwendung <template>Tag und ersetzen *ngIfmit [ngIf]so.
<template [ngIf]="...">
...
</template>
templateTag, standardmäßig erstellt das Präfix eckige Direktiven mit * ein Vorlagen-Tag. also sind beide gleich[ngIf] and *ngIf
*ngIfSie ein Element in der Vorlage haben, brauchen Sie nicht , wenn Sie das schreiben templateselbst. Unter bestimmten Umständen kann das zusätzliche Element stören.
templatetag in tr/ tdtag einfügen?
*ngIf="foo"dem Wrapping- <template [ngIf]="foo">Tag entspricht. Kurz gesagt, template+ []== *, also []! = *. *macht in jedem Element außer Sinn template.
Sie können nicht divdirekt hineinstecken tr, das würde ungültiges HTML machen. trkann nur td/ th/ tableelement enthalten & in ihnen könnten andere HTML-Elemente sein.
Sie könnten leicht Ihren HTML ändern müssen *ngForüber tbody& haben ngIfüber trsich unten mögen.
<tbody *ngFor="...">
<tr *ngIf="...">
...
</tr>
<tr *ngIf="!...">
...
</tr>
..
</tbody>