Comment pourrais-je avoir plusieurs cas dans une *ngIf
déclaration? Je suis habitué à Vue ou angulaire 1 d'avoir un if
, else if
et else
, mais il semble que angulaire 4 a seulement true
( if
) et false
( else
) condition.
D'après la documentation, je ne peux que faire:
<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>
Mais je veux avoir plusieurs conditions (quelque chose comme):
<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>
Mais je finis par devoir utiliser ngSwitch
, ce qui ressemble à un hack:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
Alternativement, il semble que beaucoup de syntaxes auxquelles je suis habitué à partir d'Angular 1 et Vue ne sont pas prises en charge dans Angular 4, alors quelle serait la manière recommandée de structurer mon code avec des conditions comme celle-ci?