ng6中ngModelChange如何获取change前ngModel绑定的值

Posted canghaishui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ng6中ngModelChange如何获取change前ngModel绑定的值相关的知识,希望对你有一定的参考价值。

在ng6中双向绑定的表单元素可以通过ngModelChange监听绑定值得改变,并且可以通过ngModelChange($event)来获取到当前绑定元素的值。使用$event时获取到的是改变后的值,此时没有任何问题。

但是用ngModelChange直接获取绑定的变量时,有时候获取到的是change前的值,有时候是chang后的值,如下图

技术图片

 

 技术图片

 

 造成这个问题的原因是ngModelChange和ngModel的顺序问题,

当ngModel在ngModelChange前面时获取到的绑定的变量是修改以后的值,代码如下

技术图片

 

 而当ngModelChange在ngModel前面时获取到的绑定的变量就是修改前的值,代码如下

技术图片

 

 因此,我们在使用ngModelChange时将ngModelChange放到ngModel前面就可以同时获取绑定变量前后的两个值了,代码如下图

技术图片

 

 技术图片

 

 

效果如下

技术图片

 

以上是关于ng6中ngModelChange如何获取change前ngModel绑定的值的主要内容,如果未能解决你的问题,请参考以下文章

如何在可观察的地图中抛出错误(rxjs 6,ng6)

如何在可观察的地图中抛出Error(rxjs6,ng6)

Angular6 ngModelChange 中的去抖动时间

为啥在下拉列表中加载组件时不会触发 ngmodelChange 事件?

ng6.1 新特性:滚回到之前的位置

Angular 2 ngModelChange 旧值