Angular 2: 在ngModelChange函数中如何比较ngModel的旧值和新值?

16 浏览
0 Comments

Angular 2: 在ngModelChange函数中如何比较ngModel的旧值和新值?

我想在ngModelChange函数中比较ngModel的旧值和新值。我尝试了一些stackoverflow上的解决方案,但在我的情况下都无法正常工作。

这是我的html代码:


这是函数:

 rowchangcheck(event, item, index) {
   console.log('oldvalue', item.quantity); //这里的值会改变
}

我尝试了这个但是不起作用

stackoverflow的答案

我想在rowchange函数之前获取ngModel的第一个值,并将更改后的值与旧值进行比较。请问如何做到这一点,请帮忙。

0
0 Comments

问题出现的原因是在ngModelChange函数中无法直接比较新旧值。解决方法是添加一个旧值的属性,并在每次变化时更新旧值,并在需要比较新旧值时使用该属性。具体的解决方法如下:

在ngModelChange函数中添加一个旧值的属性,命名为OldQuantity:

rowchangcheck(oldValue, event, item) {
  console.log('oldValue', item.oldQuantity);
  console.log('newValue', event);
  item.oldQuantity = event;
}

这样,在每次ngModelChange事件触发时,旧值就会被更新为当前的值。然后可以通过比较旧值和新值来判断是否发生了变化。

0