我怎么会在*ngIf
份声明中有多个 case ?我已经习惯了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中似乎都不受支持,那么,用这样的条件构造代码的推荐方法是什么呢?