无法绑定到'ngSwitchDefault',因为它不是'ng-template'的已知属性

时间:2017-09-04 12:33:35

标签: javascript angular ng-switch ng-template

我收到错误:

  

无法绑定到'ngSwitchDefault',因为它不是已知的属性   'NG-模板'

在我继续之前: Angular2 - "Can't bind to 'ngSwitchWhen' since it isn't a known property of 'template'."

的副本

ngSwitch当我使用它时,它的结合方式非常好。问题在于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>

1 个答案:

答案 0 :(得分:7)

我认为应该只是

ngSwitchDefault

因为@Input()没有传递值而且没有{{1}}