1、<ng-template>
ng-template用来定义模板,仅在存在结构指令的情况下起作用,可以和*ngIf-else配合使用
1)IF-ELSE
<div *ngIf="isValid; else otherTpl">
这是IF内容
</div>
<ng-template #otherTpl>这是ELSE内容</ng-template>
#otherTpl是模板引用变量,当isValid为false时,页面渲染else内容
2)IF-THEN-ELSE
<div *ngIf="isValid; then a1 else a2">这里的内容会被忽略</div>
<ng-template #a1>这是THEN内容</ng-template>
<ng-template #a2>这是ELSE内容</ng-template>
2、<ng-container>
因为Angular V2不支持同一元素上使用多个结构指令,所以多用ng-container。它可以用来组织标签,包裹标签,用于对节点分组,但不破坏DOM结构,不添加额外的标签。
<ng-container *ngIf="flag">
<div *ngFor="let item of list">
// 渲染item内容
</div>
</ng-container>