J'ai plusieurs instructions de commutation, mais dans certains cas, j'ai besoin du cas commun. Donc j'essaye le
OR operator => ||
Exemple:
<ng-container [ngSwitch]="options">
<ng-container *ngSwitchCase="'a'">Code A</ng-container>
<ng-container *ngSwitchCase="'b'">Code B</ng-container>
<ng-container *ngSwitchCase="'c'">Code C</ng-container>
<ng-container *ngSwitchCase="'d' || 'e' || 'f'">Common Code</ng-container>
<ng-container *ngSwitchDefault>Code Default</ng-container>
</ng-container>
Sortie:
if case = 'd' returns Common Code
else if case = 'e' and 'f' returns the Code Default
Ici l'avant-dernier cas se compose de plusieurs cas, et maintenant par défaut le case 'd'
fonctionne uniquement et ne fonctionne pas pour case 'e' and 'f'
.
Je ne vois aucun cas multiple dans les documents ngSwitchCase
:
https://angular.io/docs/ts/latest/api/common/index/NgSwitchCase-directive.htmlhttps://angular.io/docs/ts/latest/ api/common/index/NgSwitch-directive.html
Ne fonctionne pas Angular 2 prend en charge le ||
opérateur dans le ngSwitchCase
?
Si vous évaluez 'd' || 'e' || 'f'
le résultat est 'd'
et lorsque options
n'est pas 'd'
, alors cela ne correspond pas. Vous ne pouvez pas utiliser ngSwitchCase
de cette façon.
Cela fonctionnerait:
<ng-container [ngSwitch]="true">
<ng-container *ngSwitchCase="options === 'a'">Code A</ng-container>
<ng-container *ngSwitchCase="options === 'b'">Code B</ng-container>
<ng-container *ngSwitchCase="options === 'c'">Code C</ng-container>
<ng-container *ngSwitchCase="options === 'd' || options === 'e' || options === 'f'">Common Code</ng-container>
<ng-container *ngSwitchDefault>Code Default</ng-container>
</ng-container>