2016-04-07 15 views
0

テンプレートルーターまでアクションをバブルさせるコンポーネントがあります。私のコンポーネント(プロジェクト・テーブル)、私が持っている内部Emberコンポーネントのアクションがテンプレートルーターにバブリングしない

{{project-table projects=model viewProject="viewProject"}} 

私はコンポーネントにアクションの名前を渡すコンポーネントテンプレート内

import Ember from 'ember'; 

export default Ember.Component.extend({ 
    actions: { 
     viewProject: function (project) { 
      this.sendAction('viewProject', project); 
     } 
    } 
}); 

を、私が持っている:

<button type="button" {{action "viewProject" project}}> 
    My Button 
</button> 

最後に、ルータがあります。

actions: { 
    viewProject: function (project) { 
     this.transitionToRoute('project', project); 
    } 
} 

コンポーネントのアクションが正しく呼び出されます。しかしそこから、その行動は泡立ちません。私は何が間違っているかもしれないかについての任意のアイデア?

+0

これが誤字であるかどうかはわかりませんが、プロジェクトテーブルコントローラはEmber.Componentを拡張しているため、コントローラではありません。 –

+0

アクションに異なる名前を付けることはできますか? – ykaragol

+0

'project-table'は別のコンポーネントの中にありますか? – locks

答えて

2

@ JB2では、あなたのコードはほぼ完璧です。私はそのアクションがRouteレベルまで気泡であると確信しています。

ただし、ルートtransitionToの方法しかありません。 http://emberjs.com/api/classes/Ember.Route.html#method_transitionTo

コントローラでは、transitionToRouteメソッドを使用できます。 http://emberjs.com/api/classes/Ember.Controller.html#method_transitionToRoute

混在しやすいです。 :) APIドックもかなり頻繁にチェックしていますが、どちらを使うことができますか? :)

+1

ゾルタンありがとうございます。はい、それでした! :-) Uff、私はこのハハに費やした時間。ありがとうございました!! – JB2

関連する問題