当模型在ngModelChange

时间:2018-03-05 12:40:19

标签: javascript angular

我有一个输入

<input [(ngModel)]="plot" type="number" step="0.01" (ngModelChange)="onPlotChange($event)" />

onPlotChange(value) {
    this.plot = value;
    this.plot = Math.round(this.plot * 100) / 100;
}

当我输入一个数字时,让我们说 - 1.956,它会立即变为1.96,因为它被四舍五入,this.plot不同于该值被反弹到视图。

当我输入 - 1.951时,它在视图中保持这样,因为更改前的模型值是1.95,更改后它是1.95所以它没有检测到任何更改,也没有重新绑定值到视图所以视图保持.1951。

如何强制角度将值重新绑定到视图?

http://plnkr.co/kJxF7rixZXQdWRMnVoRd 输入0.956 - 预期结果0.96 输入0.951 - 预期结果0.95,实际结果在视图0.951

1 个答案:

答案 0 :(得分:0)

有一种替代解决方案可以达到预期的效果。您可以使用角度&#39;(keyup)事件

<input [(ngModel)]="plot" type="number" step="0.01" (keyup)="onPlotChange(plot)" />

    onPlotChange(value) {
      this.plot=value;
        this.plot = Math.round(this.plot * 100) / 100;

}