ngModelChange仅在模糊时才有变化

时间:2017-11-20 12:29:40

标签: angular

我想只在模糊事件上调用updateDetail(),并且仅在模型已更改时才调用。所以现在如果用户在没有进行更改的情况下模糊(选项卡)输入框,它将调用updateDetail()并执行不必要的计算。有人可以取消我的无知吗?

<input type="text" (ngModelChange)="updateDetail(d)" [ngModelOptions]="{updateOn: 'blur'}" name='detail-monthly-payment'
                            [(ngModel)]="d.periodPayment" />

3 个答案:

答案 0 :(得分:12)

仅使用(change)代替(ngModelChange)

我认为,这个问题不再适用于Angular5,请检查

<强> WORKING DEMO

答案 1 :(得分:0)

检查您的功能是否存在任何变化:

updateDetail(event:any){
 if(this.d.periodPayment == event)
    return;
}

答案 2 :(得分:0)

我只会存储前一个值并将其与updateDetail(d)中的新值进行比较,并且只在它们不同时进行计算。

我不认为将(change)="..."ngModel一起使用是一个好主意。 <{1}}在调用d.periodPayment时不会包含新值。