我如何在一个*ngIf
陈述中处理多个案件?我已经习惯的Vue或角1与具有if
,else if
和else
,但似乎角4只具有true
(if
)和false
(else
)状态。
根据文档,我只能执行以下操作:
<ng-container *ngIf="foo === 1; then first else second"></ng-container>
<ng-template #first>First</ng-template>
<ng-template #second>Second</ng-template>
<ng-template #third>Third</ng-template>
但我想有多个条件(类似):
<ng-container *ngIf="foo === 1; then first; foo === 2; then second else third"></ng-container>
<ng-template #first>First</ng-template>
<ng-template #second>Second</ng-template>
<ng-template #third>Third</ng-template>
但是我最终不得不使用ngSwitch
,这感觉像是一种hack:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
或者,似乎在Angular 4中不支持我从Angular 1和Vue习惯的很多语法,那么采用这种条件构造代码的推荐方法是什么?