Kann ich ngIf
ohne 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.
ng-container
wird 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*ngIf
mit[ngIf]
so.quelle
template
Tag, standardmäßig erstellt das Präfix eckige Direktiven mit * ein Vorlagen-Tag. also sind beide gleich[ngIf] and *ngIf
*ngIf
Sie ein Element in der Vorlage haben, brauchen Sie nicht , wenn Sie das schreibentemplate
selbst. Unter bestimmten Umständen kann das zusätzliche Element stören.template
tag intr
/td
tag einfügen?*ngIf="foo"
dem Wrapping-<template [ngIf]="foo">
Tag entspricht. Kurz gesagt,template
+[]
==*
, also[]
! =*
.*
macht in jedem Element außer Sinntemplate
.Sie können nicht
div
direkt hineinsteckentr
, das würde ungültiges HTML machen.tr
kann nurtd
/th
/table
element enthalten & in ihnen könnten andere HTML-Elemente sein.Sie könnten leicht Ihren HTML ändern müssen
*ngFor
übertbody
& habenngIf
übertr
sich unten mögen.quelle