Obj von Direktive an Controller in AngularJS übergeben

Ich versuche, eine Direktive zu schreiben, die den übergeordneten Controller und den übergeordneten Formular-Controller abruft und sie als einzelnes Objekt an meinen Controller übergibt. Das habe ich:

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???
  }
});

Ich habe hier einen Plunker geschrieben, um die Situation besser zu erklären:https: //plnkr.co/edit/axnR6t2Q82IVtzftq7y7? p = preview

Ich weiß, dass ich in diesem Fall ControllerAs mit unterschiedlichen Namen in meinen Controllern verwenden könnte, aber ich muss dafür sorgen, dass sie mit einer Direktive funktionieren ("Einschränken: A" Direktive).

Kann mir bitte jemand bei diesem Problem helfen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage