angular 5,使用(ngModelChange)更改模型时未采用新模型值

angular 5, new model value has not been taken when model is changed using (ngModelChange)

在Angular 5,更新的文本框值还没有被带入(ngModelChange)。我有一个用于输入运费的文本框,每当更改型号时,我需要添加总成本并需要显示。在这里,始终采用以前的值而不是当前输入的值。

例如,之前它有 5,现在,我添加到 51,ngModel 在 ngModelChange 期间只需要 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.
}

谁能帮帮我,为什么只取以前的值而不取当前值。

将更改传递给函数调用

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


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

ngModelChange 在模型发生变化时触发,您也可以对最新模型使用 change,但会在 blur 而不是 keyup 时触发。您可以使用 (keyup),因为它会在模型​​更新后触发。

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


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