Was ist der beste Weg, um Funktionen zwischen inneren Komponenten in AngularJS 1.5 zu übergeben?

Ich habe mich gefragt, wie die Funktionen am besten auf zwei oder mehr Komponentenebenen verteilt werden können. Es gibt keine einfache Möglichkeit, den Funktionsumbruch bei der Verwendung von & -Bindungen zu überspringe

Hier ist ein Anwendungsfall:

angular.module('app', []).component('app', {
  controller: class AppController {
    doSomething (data) {}
  },
  template: `
    <sub-component on-do-something="$ctrl.doSomething(data)">
    </sub-component>
  `
})

ps: Ich verwende ngRedux, daher ist ein solches Szenario sehr verbreitet.

BEARBEITEN

Das Problem ist: Damit der obige Code funktioniert, sieht jeder interne Komponenten-Controller folgendermaßen aus:

.component('subComponent', {
    bindings: {
        doSomething: '&'
    },
    controller: function SubComponentController () {
        this._doSomething = param => this.doSomething({data: param});
    },
    template: `
        <inner-component do-something="$ctrl._doSomething(data)">
        </inner-component>
    `
});

.component('innerComponent', {
    bindings: {
        doSomething: '&'
    },
    controller: function InnerComponentController () {
        this._doSomething = param => this.doSomething({data: param});
    },
    template: `
        <sub-inner-component do-something="$ctrl._doSomething(data)">
        </sub-inner-component>
    `
});

Und dann müsste ich weitergeben_doSomething Anstatt vondoSomething direkt.

ps: Ich verwende hier keine Transklusion.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage