角度5,使用(ngModelChange)

时间:2018-09-17 22:07:02

标签: angular5 nativescript angular2-nativescript

在Angular 5中,未在(ngModelChange)中获取更新的文本框值。我有一个用于输入运输成本的文本框,每当更改模型时,我需要添加总成本并显示出来。在此,始终取以前的值而不是当前的输入值。

例如,以前它有5个,现在我要添加到51个,ngModelChange期间ngModel仅取5个而不是51个。

<TextField row="1" col="1" (ngModelChange)="sumOfRestocking();" [(ngModel)]="shippingFee" ></TextField>


sumOfRestocking () {
    console.log('shipping fee-->' + this.shippingFee);
// Takes only previous record, so I am not able to update the total correctly.
}

任何人都可以帮助我,为什么它只采用以前的值而不是当前的值。

1 个答案:

答案 0 :(得分:1)

将更改传递给函数调用

<TextField row="1" col="1" (ngModelChange)="sumOfRestocking($event);" [(ngModel)]="shippingFee" ></TextField>


sumOfRestocking (changes) {
    console.log('shipping fee-->' + changes);
}

ngModelChange在模型更改时触发,您也可以将change用于最新模型,但会在模糊而不是键盘输入时触发。您可以使用(keyup),因为那样会在模型更新后触发。

<TextField row="1" col="1" (change)="sumOfRestocking();" [(ngModel)]="shippingFee" ></TextField>


sumOfRestocking () {
    console.log('shipping fee-->' + this.shippingFee);
}