Подтвердить что ты не робот

Передача 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() { ... }
    }
});
4b9b3361

Ответ 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(); 
 }