2017-05-04 29 views
7

Tôi có nhiều câu lệnh chuyển đổi nhưng đối với một số trường hợp, tôi cần trường hợp phổ biến. Vì vậy, tôi đang cố gắng cácGóc 2 ngSwitchCase, HOẶC toán tử không hoạt động

OR operator => ||

Ví dụ:

 <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 

Đây là trường hợp cuối cùng thứ hai bao gồm nhiều trường hợp, và bây giờ bằng cách mặc định case 'd' chỉ hoạt động và không hoạt động đối với case 'e' and 'f'.

Tôi không thể nhìn thấy bất cứ trường hợp nhiều bên trong ngSwitchCase tài liệu:

https://angular.io/docs/ts/latest/api/common/index/NgSwitchCase-directive.html https://angular.io/docs/ts/latest/api/common/index/NgSwitch-directive.html

Không góc 2 hỗ trợ || điều hành trong ngSwitchCase?

Trả lời

18

Nếu bạn đánh giá 'd' || 'e' || 'f' kết quả là 'd' và khi options không phải là 'd', sau đó nó không phù hợp. Bạn không thể sử dụng ngSwitchCase theo cách đó.

này sẽ làm việc:

<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> 
+2

Wow! bạn là 'Angular God': D Tôi đã không nghĩ rằng '[ngSwitch]' nên có điều kiện thực sự. ;) Cảm ơn vì cách này. Tôi đã gãi đầu trong nhiều giờ. – PaladiN

+1

Cảm ơn, bạn được chào đón. Vui mừng khi biết nó khắc phục sự cố của bạn :) –

+3

Hoạt động! Điểm mấu chốt: [ngSwitch] = "true" sẽ cho phép tất cả các thẻ "điều kiện SwitchCase" được đánh giá – ObjectiveTC

Các vấn đề liên quan