我有一個文本輸入綁定到模型值,我希望用戶輸入來延遲後更新模型,但編程更改輸入值以立即更新模型,通過響應自定義事件。更新自定義事件的角度模型
這是我放在一起基於this answer
HTML:
<input id="test_input"
ng-model="test_value"
ng-model-options="{updateOn: 'default customEvent', debounce: {default: 1000, customEvent: 0}}"
bind-event
>
JS:
myApp.directive('bindEvent', function() {
return {
restrict: 'EAC',
controller: function($scope, $element, $attrs) {
$element.on('customEvent', function() {
console.log('custom event is triggered');
});
}
};
});
控制器:
$scope.test_value = 'abc'; // starting value
但我不能讓自定義事件觸發模型更新:
控制檯:
angular.element('#test_input').val('xyz');
angular.element('#test_input').triggerHandler('customEvent');
-> 'custom event is triggered'
angular.element('#test_input').scope().test_value;
-> 'abc'
謝謝,你的例子確實有效。我的理由並沒有最終成爲一個不同的問題(請參閱[我的答案](http://stackoverflow.com/a/37801626/165673)) – Yarin
@Yarin噢,我沒有注意到你正在做它編程 – CShark