如何将ngModel导入指令的link函数

时间:2014-12-18 06:38:46

标签: angularjs angularjs-directive contenteditable

我必须将ngModel访问到我的指令链接功能中。这是代码:

app.directive("contenteditable", function() {
    var directive = {};
    directive.require = ['^parentDirective','?ngModel'];
    directive.link = function(scope, element, attrs, ngModel) {
        ngModel.someMethod(); // Gives method not found
    }

但我不知道如何从指令链接函数传递或访问'ngModel'。

1 个答案:

答案 0 :(得分:1)

由于您“需要”一组控制器,您将获得一系列控制器注入您的链接功能。

directive.link = function(scope, element, attrs, ctrls) {
    var ngModel = ctrls[1];
    ngModel.someMethod();
}

来自documentation

  

require需要传入指令的字符串名称(或字符串数​​组)。如果使用数组,注入的参数将是相应顺序的数组。