2016-04-14 5 views
1

Ich versuche, eine Aktion von einer übergeordneten Komponente in meiner Routenansicht aufzurufen.Aktion von der übergeordneten Komponente in Ember 2.x aufrufen

mychild.hbs

{{#parent as |wrapper|}} 
    <button {{action "animate"}}>Login</button> 
{{/parent}} 

parent.hbs

<div>{{yield}}</div> 

MyChild Route (keine Aktionen)

export default Ember.Route.extend(
}); 

MyChild Controller

export default Ember.Controller.extend({ 
}); 

Stammkomponente

export default Ember.Component.extend({ 

    actions: { 
     animate() { 
      console.log('ok'); 
     } 
    }, 
}); 

Wie animate() von meiner Komponente nennen? Was mache ich falsch ?

+0

Ist es nicht ein Tippfehler? Die öffnende Klammer ist '# parent' und die umgebende ist'/animate-fadein' – Pavol

+0

@Pavol ooops! fehlende Syntax;) – Totomakers

+0

Könnten Sie ein [Ember Twiddle] (https://ember-twiddle.com/) schreiben, um das Problem zu demonstrieren? – jelhan

Antwort

1

Geändert den folgenden Code zu diesem. Scheint zu arbeiten.

<div> 
    {{yield this}} 
</div> 

{{#my-component as |mc|}} 
    <button {{action "doIt" target=mc}}>callDoIt</button> 
{{/my-component}} 
+0

Danke gut funktionieren :) – Totomakers