我想将onSelect事件用于我的select标签而不是ng-change事件。
我在我的代码中使用ng-change事件时面临一些问题我在更新页面中使用更新onChange函数调用自动更新设置值并且我在该函数中进行了一些计算,因此计算会自动调用并且连接很多东西有一个功能。
所以我想只在我从选择框中选择任何值时调用函数,如果你有一个合适的解决方案,请回复。
答案 0 :(得分:3)
您需要在输入标记中添加指令。
如果将指令添加到代码中,则会将绑定更改为:
<input type="text" ng-model="name" ng-model-onblur ng-change="update()" />
这是指令:
//覆盖默认输入以更新模糊
angular.module('app', []).directive('ngModelOnblur', function() {
return {
restrict: 'A',
require: 'ngModel',
priority: 1, // needed for angular 1.2.x
link: function(scope, elm, attr, ngModelCtrl) {
if (attr.type === 'radio' || attr.type === 'checkbox') return;
elm.unbind('input').unbind('keydown').unbind('change');
elm.bind('blur', function() {
scope.$apply(function() {
ngModelCtrl.$setViewValue(elm.val());
});
});
}
};
});
R效率:Angularjs: input[text] ngChange fires while the value is changing