2014-09-05 2 views
0

можно использовать свойство требуется добавить зависимость к пользовательской директиве, например, требующие два зависимостей в угловой директиве

требует: «?^Форм»

Можно ли добавить более одной зависимости?

Я пишу директиву, в которой должен быть ngFormController, а также ngModelController.

ответ

3

Да, использовать массив:

require: [ 
    '^?form', 
    '^otherDirective' 
] 

А на функции link вы получите массив контроллеров вместо только 1 контроллер:

link: function(scope, element, attrs, controllers) { 
    // controllers[0] == formController 
    // controllers[1] == otherDirectiveController 
} 
1

Здесь вы можете увидеть Official doc for $compile - он очень хорошо охватывает директивы.

require: 'siblingDirectiveName', // or // ['^parentDirectiveName', '?optionalDirectiveName', '?^optionalParent'], 

Если вы передаете массив требовать, четвертый аргумент вашей link функции будет массив контроллеров в указанном порядке с требуете.

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