我有一些自定义指令,并且已经绑定了ng-model和ng-change指令。
例:
<custom-directive ng-model="users" ng-change="changed()">
</custom-directive>
执行后的指令包含一些输入,textareas等。我想总是在输入,textareas中的某些内容发生更改时执行绑定到
ng-change
,changed()
的函数。我可以从指令
ng-change
或controller
执行link
吗?例如:
.directive('customDirective', function () {
return {
restrict: 'E',
replace: true,
require: 'ngModel',
templateUrl: 'src/template.html',
link: function (scope, elem, attrs, ngModel) {
executeNgChange();
}
};
})
最佳答案
您应该能够使用angular Scope函数表达式绑定在指令中的ng-change
中绑定函数:
.directive('customDirective', function () {
return {
restrict: 'E',
replace: true,
require: 'ngModel',
scope: {
change: '&ngChange'
}
templateUrl: 'src/template.html',
link: function (scope, elem, attrs, ngModel) {
scope.change(); // or use ng-change="change()" in your directive template
}
};
})
我自己还没有测试过,但是希望对您有帮助。
关于javascript - AngularJS-触发ngChange吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34767842/