9

我得到错误:

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

在我继续之前:这不是Angular2的副本——“不能绑定到‘ngSwitchWhen’,因为它不是‘模板’的已知属性。”

ngSwitchWhen 绑定得非常好,就像我使用它的方式一样。问题在于 ngSwitchDefault,我只能在它的 sytactic suggared verison *ngSwitchDefault中使用它。但是由于我对此事有另一个结构性指令(*ngIf),我想使用“Template-[ngSwitchDefault]”-Version,它给了我上述错误。

问题:我可以使用 [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

1 回答 1

14

我认为应该只是

<ng-template ngSwitchDefault>

因为ngSwitchDefault没有得到传递的值并且没有@Input()

于 2017-09-04T12:37:51.233 回答