Je veux passer mon ng-model de la directive 'externe' à une 'directive interne' (contenue dans le modèle de directive externe).
Quelle est la bonne façon de le faire?
Code HTML:
<body>
<outer-directive ng-model="prop" />
</body>
et code de directive:
angular.module('app', []).directive('outerDirective', function(){
return {
template: '<inner-directive ng-model="prop" />',
link: function() { ... }
}
});
Вы можете установить двунаправленную привязку (см документация , раздел "Объект определения директивы".) С переменной в атрибуте 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 : '=',
},
};
});
<directive directive-form="editForm" ></directive>
scope: {
directiveForm:"="
},
link: function (scope, $elem, $attrs)
{
scope.directiveForm.$setDirty();
}