【发布时间】:2016-06-13 15:15:36
【问题描述】:
我有一个绑定到模型值的文本输入,我希望用户输入在延迟后更新模型,但通过响应自定义事件对输入值进行编程更改以立即更新模型。
这是我根据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'
【问题讨论】:
标签: javascript angularjs