2014-04-10 52 views
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/

回答

相關問題