在ng6中双向绑定的表单元素可以通过ngModelChange监听绑定值得改变,并且可以通过ngModelChange($event)来获取到当前绑定元素的值。使用$event时获取到的是改变后的值,此时没有任何问题。
但是用ngModelChange直接获取绑定的变量时,有时候获取到的是change前的值,有时候是chang后的值,如下图
造成这个问题的原因是ngModelChange和ngModel的顺序问题,
当ngModel在ngModelChange前面时获取到的绑定的变量是修改以后的值,代码如下
而当ngModelChange在ngModel前面时获取到的绑定的变量就是修改前的值,代码如下
因此,我们在使用ngModelChange时将ngModelChange放到ngModel前面就可以同时获取绑定变量前后的两个值了,代码如下图
效果如下