Pase el obj de la directiva al controlador en AngularJS
Estoy tratando de escribir una directiva que obtenga el controlador principal y el controlador de formulario principal y los pase como un solo objeto a mi controlador, esto es lo que tengo:
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???
}
});
He escrito un saqueador aquí para explicar mejor la situación:https://plnkr.co/edit/axnR6t2Q82IVtzftq7y7?p=preview
Sé que en este caso podría usar controllerAs con diferentes nombres en mis controladores, pero necesito que funcione con una directiva (directiva "restrict: A").
¿Puede alguien ayudarme con este problema?