Как бы у меня было несколько случаев в выражении *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, так что бы я рекомендовал для структурирования моего кода с такими условиями?