我有一些自定义指令,并且已经绑定了ng-model和ng-change指令。

例:

<custom-directive ng-model="users" ng-change="changed()">

</custom-directive>


执行后的指令包含一些输入,textareas等。我想总是在输入,textareas中的某些内容发生更改时执行绑定到ng-changechanged()的函数。

我可以从指令ng-changecontroller执行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/

10-12 15:37