在 *ngIf
语句中我如何处理多个案例?我习惯了 Vue 或者 Angular 1有 if
,else if
和 else
,但是 Angular 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
,感觉就像是黑客:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
另外,我已经习惯了 Angular 1和 Vue 的很多语法似乎都不支持 Angular 4,那么建议用什么样的方式来结构我的代码呢?