【发布时间】:2013-07-19 16:28:51
【问题描述】:
在 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 内部结构。我希望有一种更标准的方法来做到这一点。
【问题讨论】:
标签: javascript events controller ember.js router