Передать obj из директивы в контроллер в AngularJS
Я пытаюсь написать директиву, которая получает родительский контроллер и родительский контроллер формы и передает их как один объект моему контроллеру, вот что у меня есть:
HTML:
<div ng-controller="ParentController as self" ng-form="ParentForm">
<div ng-controller="ChildController1 as self" my-parent="self.parent">
ChildController1 parent:<br/>
{{self.parent}}
</div>
<br/>
<div ng-controller="ChildController2 as self" my-parent="self.parent">
ChildController2 parent:<br/>
{{self.parent}}
</div>
</div>
JS:
myApp.directive('myParent', function() {
var directive = {
restrict: 'A',
link: link
};
return directive;
function link(scope, element, attrs) {
var parentElement = element.parent();
var parentCtrl = parentElement.controller();
var formCtrl = parentElement.controller('form');
var parent = parentCtrl;
parent.form = formCtrl;
console.log("directive parent obj: ", parent);
// How can I pass the parent obj to controller???
}
});
Я написал здесь, чтобы лучше объяснить ситуацию:https://plnkr.co/edit/axnR6t2Q82IVtzftq7y7?p=preview
Я знаю, что в этом случае я мог бы использовать controllerAs с разными именами в моих контроллерах, но мне нужно заставить его работать с директивой (директива restrict: A).
Может кто-нибудь помочь мне с этой проблемой?