Angular 2 ngSwitchCase, OR operator not working
angular, ng-switch, or-operator, switch-statement
Solution
If you evaluate `'d' || 'e' || 'f'` the result is `'d'` and when `options` is not `'d'`, then it doesn't match. You can't use `ngSwitchCase` that way.
This would work:
<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>
Problem
I have multiple switch statement but for some case i need the common case. So, i am trying the `OR operator => ||` Example: ``` <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> ``` Output: ``` if case = 'd' returns Common Code else if case = 'e' and 'f' returns the Code Default ``` Here the second last case consists of multiple cases, and now by default the `case 'd'` is only working and not working for `case 'e' and 'f'`. I can't see any multiple case inside the `ngSwitchCase` docs: https://angular.io/docs/ts/latest/api/common/index/NgSwitchCase-directive.html https://angular.io/docs/ts/latest/api/common/index/NgSwitch-directive.html Doesn't Angular 2 supports the `||` operator in the `ngSwitchCase`?