我有一些自定义指令,我已经绑定了ng-model和ng-change指令信息。
示例:
<custom-directive ng-model="users" ng-change="changed()">
</custom-directive>
执行后的指令包含一些输入,textareas等。我想执行绑定到ng-change
,changed()
的函数,总是在此输入中更改某些内容时,textareas。
我可以从指令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();
}
};
})
答案 0 :(得分:1)
您应该能够使用角度范围函数表达式绑定绑定指令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
}
};
})
我自己没有对此进行过测试,但希望它可以帮到你。