2014-12-18 8 views
0

Мне нужно получить доступ к функции ngModel в моей ссылке. Вот код:Как импортировать ngModel в ссылку funciton директивы

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

Поскольку вы «нуждаетесь» в массиве контроллеров, вы получите массив контроллеров, введенных в вашу функцию связи.

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

От documentation:.

Требовать принимает имя строки (или массив строк) директивы (ы) для передачи в случае, если массив используется, нагнетаемый аргумент будет массив в соответствующем порядке.

+0

Большое спасибо. это сработало. – jsbisht

Смежные вопросы