複数のswitchステートメントがありますが、場合によっては一般的なケースが必要です。だから、私はしようとしている
OR operator => ||
例:
<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>
出力:
if case = 'd' returns Common Code
else if case = 'e' and 'f' returns the Code Default
ここで最後から2番目のケースは複数のケースで構成され、デフォルトではcase 'd'
はcase 'e' and 'f'
に対してのみ機能し、機能しません。
ngSwitchCase
ドキュメント内に複数のケースはありません。
https://angular.io/docs/ts/latest/api/common/index/NgSwitchCase-directive.htmlhttps://angular.io/docs/ts/latest/ api/common/index/NgSwitch-directive.html
しないAngular 2はngSwitchCase
?の||
演算子をサポートしていますか?
'd' || 'e' || 'f'
を評価すると、結果は'd'
になり、options
が'd'
でない場合、一致しません。 ngSwitchCase
をそのように使用することはできません。
これはうまくいくでしょう:
<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>