Como eu teria vários casos em uma *ngIf
declaração? Estou acostumado a Vue ou angular 1 com ter um if
, else if
e else
, mas parece que Angular 4 tem apenas uma true
( if
) e false
( else
condição).
De acordo com a documentação, só posso fazer:
<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>
Mas eu quero ter várias condições (algo como):
<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>
Mas estou acabando tendo que usar ngSwitch
, o que parece um hack:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
Como alternativa, parece que muitas das sintaxes com as quais me acostumei do Angular 1 e Vue não são suportadas no Angular 4, então qual seria a maneira recomendada de estruturar meu código com condições como essa?