Angular2使用ngIf没有额外的元素

如果没有额外的容器元素,我可以使用ngIf吗?

<tr *ngFor="..."> <div *ngIf="..."> ... </div> <div *ngIf="!..."> ... </div> .. </tr> 

当我添加div时,它不适用于表格。

ng-containertemplatetemplate

 <ng-container *ngIf="expression"> 

看到:

angular2 ng容器

https://github.com/angular/angular.io/issues/2303

我在https://angular.io/docs/ts/latest/guide/template-syntax.html#!#star-templatefind了一个方法。;

您可以简单地使用<template>标签,并像这样用[ngIf]replace*ngIf

 <template [ngIf]="..."> ... </template> 

你不能把div直接放在tr里面,那会导致无效的HTML。 tr只能有td / th / table元素在里面,你可以有其他的HTML元素。

你可以稍微改变一下你的HTML,以便像下面*ngFor通过tbodyngIf

 <tbody *ngFor="..."> <tr *ngIf="..."> ... </tr> <tr *ngIf="!..."> ... </tr> .. </tbody>