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

8

Ich habe mich gefragt, was ist der beste Weg, um Funktionen über zwei oder mehr Ebenen von Komponenten zu übergeben? Es gibt keine einfache Möglichkeit den Funktionswrap zu überspringen, wenn '& amp;' Bindungen?

Hier ist ein Anwendungsfall:

%Vor%

ps: Ich benutze ngRedux, also ist ein solches Szenario sehr häufig

BEARBEITEN:

Das Problem ist: Damit der obige Code funktioniert, sieht jeder innere Controller so aus:

%Vor%

Und dann müsste ich _doSomething anstelle von doSomething direkt übergeben.

ps: Ich verwende hier keine Transkription.

    
Hodes 23.01.2016, 01:47
quelle

1 Antwort

20

Es ist nicht notwendig, eine Wrapper-Funktion in der Steuerung Ihrer Unterkomponenten bereitzustellen. Mit bindings wird automatisch eine Funktion an den Controller angehängt, die Sie direkt von Ihrer Vorlage aus aufrufen können.

Der einzige Fehler ist, dass diese Funktion ein Objekt übernimmt, das die Locals enthält, die dem Ausdruck in der äußeren Vorlage zur Verfügung gestellt werden.

In diesem Fall muss die Variable data in der äußeren Vorlage explizit angegeben werden, wenn die Methode doSomething(locals) aufgerufen wird.

%Vor%

Hier ist ein funktionierender Plunker: Ссылка

    
Pete BD 25.01.2016, 10:43
quelle