2017-09-04 12 views
2

내가 할 'ngSwitchDefault'에 오류를 바인딩 할 수 없습니다 duplicate of Angular2 - "Can't bind to 'ngSwitchWhen' since it isn't a known property of 'template'."

ngSwitchWhen은 내가 사용했던 방식대로 완벽하게 바인딩됩니다. 문제는 ngSwitchDefault입니다.이 버전에서는 sytactic suggared verison으로 만 사용할 수 있습니다. * ngSwitchDefault. 그러나이 문제에 대한 또 다른 구조 지시문 (* ngIf)이 있기 때문에 "Template- [ngSwitchDefault]"- 버전을 사용하여 앞서 언급 한 오류가 발생합니다.

질문 : [ngSwitchCase]를 사용할 수 있지만 [ngSwitchDefault]를 사용할 수없는 이유는 무엇입니까?

<div> 
    <div *ngFor="let field of fields"> 
    <ng-container [ngSwitch]="field.myType"> 
     <ng-template [ngSwitchCase]="'something'"> 
     <div *ngIf="fieldIsVisibile[field.name]"> 
      Somthing special: {{field.name}} 
     </div> 
     </ng-template> 

     <ng-template [ngSwitchDefault]> 
     <div *ngIf="fieldIsVisibile[field.name]"> 
      Regular: {{field.name}} 
     </div> 
     </ng-template> 
    </ng-container> 
    </div> 
</div> 

답변

4

나는 ngSwitchDefault이 값이 전달되지 않습니다와 @Input()

이 없기 때문에 그냥

<ng-template ngSwitchDefault> 

해야한다고 생각