在ng6中雙向綁定的表單元素可以通過ngModelChange監聽綁定值得改變,並且可以通過ngModelChange($event)來獲取到當前綁定元素的值。使用$event時獲取到的是改變后的值,此時沒有任何問題。
但是用ngModelChange直接獲取綁定的變量時,有時候獲取到的是change前的值,有時候是chang后的值,如下圖
造成這個問題的原因是ngModelChange和ngModel的順序問題,
當ngModel在ngModelChange前面時獲取到的綁定的變量是修改以后的值,代碼如下
而當ngModelChange在ngModel前面時獲取到的綁定的變量就是修改前的值,代碼如下
因此,我們在使用ngModelChange時將ngModelChange放到ngModel前面就可以同時獲取綁定變量前后的兩個值了,代碼如下圖
效果如下