2015-02-13 2 views
6

Ich will Aktionen Feuer Komponente aus Vorlage in Blockform Komponente wie folgt eingefügt:Wie feuern die Aktionen der Komponente aus der Vorlage, die in die Blockform-Komponente Ember.js eingefügt wurde?

{{#block-component}} 
    <p> HTML inserted in block form </p> 
    <p> How trigger a action from block-component (not your parent) from this scope? </p> 
    <p {{action 'actionFromBlockComponent'}}> Fire component's action!!! </p> 
{{/block-component}} 

Der Block params aktiviert in Ember 1.10.0 mir dabei helfen? Oder diese Nachfrage ist unmöglich?

+0

Möchten Sie diese Aktionen in den Komponenten selbst definieren? Ich kämpfe auch damit. Es ist jedoch zu beachten, dass diese Aktion in der Tat aber direkt auf den Controller hinter der Vorlage mit der Komponente feuern. – LukeP

Antwort

11

Mit dem neuen Block params in 1.10.0 dies, indem Sie folgende möglich:

{{#block-component as |component|}} 
    <p> HTML inserted in block form </p> 
    <p> How trigger a action from block-component (not your parent) from this scope? </p> 
    <p {{action 'actionFromBlockComponent' target=component}}> Fire component's action!!! </p> 
{{/block-component}} 

Hinweis des Ziel der auf den Block param gesetzt Aktion.

Die Vorlage des block Komponente sollte diese enthalten:

{{ yield this }} 

Es gelangt lediglich die Komponente selbst für jede Vorlage als Block param verwendet werden, um diese Komponente.

+0

Vielen Dank! Ich habe es hier versucht und funktioniert perfekt. – user2838942

+2

Noch gültig in Ember 2.2 –

+0

Dies ist eine alte Frage, aber wie ich das in Ember 2.10 verwende, frage ich mich, ob es möglich ist, die Aktion wieder an den Elternteil zu senden? – pusle

Verwandte Themen