Angular 2 Material: "Expression was changed [..]" 与 mdInput

Angular 2 Material: "Expression was changed [..]" with mdInput

<md-input-container>
   <input mdInput type="number" min="0" [(ngModel)]="troup.amount" *ngIf="wave.Mode === SimulationModes.Normal">
</md-input-container>

我最近从 material angular 的前一版本更新到最新版本,并且需要更改我的所有输入以匹配新标准 <md-input-container> 而不是<md-input>.

编译时,我收到一个区域错误,告诉我值从 "undefined" 更改为 ''。

为了使其正常工作,您不应再在 mdInput 指令中放置任何 *ngIf,而应将其放置在容器中:

<md-input-container *ngIf="wave.Mode === SimulationModes.Normal">
   <input mdInput type="number" min="0" [(ngModel)]="troup.amount">
</md-input-container>

这解决了问题。