AngularJS - 触发ngChange?

时间:2016-01-13 13:21:53

标签: javascript angularjs

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

示例:

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

</custom-directive>
执行后的

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

我可以从指令ng-changecontroller执行link吗?

就像这样:

.directive('customDirective', function () {
    return {
        restrict: 'E',
        replace: true,
        require: 'ngModel',
        templateUrl: 'src/template.html',
        link: function (scope, elem, attrs, ngModel) {
            executeNgChange();
        }
    };
})

1 个答案:

答案 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 
        }
    };
})

我自己没有对此进行过测试,但希望它可以帮到你。