Ember.js では、コントローラーで処理されないイベントが、ルーター チェーンを介してアプリケーション ルートに伝播します (詳細については、http://emberjs.com/guides/views/handling-events/を参照してください)。
イベントがルーターに伝播し続けることを可能にするイベントハンドラーをコントローラーで定義する方法はありますか?
App.SampleController = Ember.ObjectController.extend({
myEvent: function(obj) {
this.set('aVariable', true);
}
});
App.ApplicationRoute = Ember.Route.extend({
events: {
myEvent: function(obj) {
this.transitionTo('something');
}
}
});
CarsController の myEvent ハンドラが内部状態変数を設定するだけでなく、アプリケーション ルートへのチェーンをイベントをキックする方法はありますか? 私はこれを認識しています:
App.__container__.lookup('router:main').send('myEvent', obj);
しかし、それは Ember 内部を使用します。これを行うためのより標準的な方法があることを望んでいました。