¿Cómo podría tener varios casos en una *ngIf
declaración? Estoy acostumbrado a que Vue o Angular 1 tenga un if
, else if
y else
, pero parece que Angular 4 solo tiene una condición true
( if
) y false
( else
).
Según la documentación, solo puedo hacer:
<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>
Pero quiero tener múltiples condiciones (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>
Pero termino teniendo que usar ngSwitch
, lo que se siente como un truco:
<ng-container [ngSwitch]="true">
<div *ngSwitchCase="foo === 1">First</div>
<div *ngSwitchCase="bar === 2">Second</div>
<div *ngSwitchDefault>Third</div>
</ng-container>
Alternativamente, parece que muchas de las sintaxis a las que me he acostumbrado de Angular 1 y Vue no son compatibles con Angular 4, entonces, ¿cuál sería la forma recomendada de estructurar mi código con condiciones como esta?