0
我有一個輸入字段和一個用值手動更新輸入字段的按鈕。該字段還有一個指令,用於監視錯誤處理的更改。AngularJS指令不會在手動更改爲字段值時觸發
在輸入字段中輸入時,該指令觸發得很好。當按下按鈕手動更新輸入字段時,該指令不會被觸發,我無法弄清楚原因。這導致我的驗證不更新,有時會導致錯誤持續存在,如果該值實際上不是錯誤。
這裏是有問題的輸入字段:
<input testchange type="text" name="hello" ng-model="formData.hello"/>
這裏是更新值按鈕:
<a href="#" ng-click="formData.hello = 'hello world!';">update text</a>
這裏是指令:
angular.module('app').directive('testchange', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$parsers.unshift(function(viewValue) {
console.log('value changed to ' + viewValue);
scope.history.push(viewValue);
})
}
}
});
我已經一個簡單的問題示例:http://jsfiddle.net/gakman/7zF9j/5/