Передача ng-модели во вложенных директивах
Я хочу передать мою ng-модель из 'external-directive' в 'inner-diretive' (которая содержится в шаблоне внешней директивы).
Каков правильный способ сделать это?
Код HTML:
<body>
<outer-directive ng-model="prop" />
</body>
и директивный код:
angular.module('app', []).directive('outerDirective', function(){
return {
template: '<inner-directive ng-model="prop" />',
link: function() { ... }
}
});
Ответы
Ответ 1
Вы можете настроить двунаправленную привязку (см. документация, раздел "Объект определения директивы" ) с переменной в ngModel
атрибут, как и с любыми другими директивами:
<my-directive ng-model="foo"></my-directive>
myApp.directive('myDirective', function () {
return {
template: '<div><input type="text" ng-model="ngModel" /></div>',
replace: true,
scope: {
ngModel : '=',
},
};
});
Fiddle
Ответ 2
Я думаю, вам нужно передать форму в директиве и вручную установить форму
<directive directive-form="editForm" ></directive>
scope: {
directiveForm:"="
},
link: function (scope, $elem, $attrs)
{
scope.directiveForm.$setDirty();
}