Предположим, у нас есть одна дочерняя директива <child/>
, которая принимает ng-model
и ng-change
и выполняет некоторые действия с ними. И у нас есть два типа оберток <w1/>
и <w2/>
, которые содержат <child/>
.
<child/>
<child/>
в первом случае я буду использовать require: '^ngModel'
во втором: require: 'ngModel'
но мне нужно, чтобы они работали одновременно
поэтому модель представляет собой простой объект, который легко переносится.
<wrapper ng-model="foo"></wrapper>
Упаковочный:
module
.directive('wrapper', function () {
return {
restrict: 'E',
template: "<child ng-model='ngModel'></child>",
scope: {
ngModel:'='
},
link: function ($scope) {
}
};
});
Ребенок:
module
.directive('child', function () {
return {
restrict: 'E',
require: 'ngModel',
template: "<div>some wierd stuff</div>",
scope: {
},
link: function ($scope, iElem, iAttr, ngModel) {
var a = ngModel.$viewValue;
}
};
});