我正在尝试在同一路线中调用“动作”方法。
当我做这样的事情时,我得到一个错误:
没有处理动作'refreshFoo'。如果你确实处理了这个动作, 从一个动作处理程序返回true可能导致此错误 控制器,导致动作冒泡。
这是我的代码:
export default Ember.Route.extend({
setupController: function (controller, model) {
this._super(controller, model);
this.send('refreshFoo');
},
actions: {
refreshFoo: function () {
alert('refreshed!');
}
}
});
http://emberjs.jsbin.com/rununifupono/2/edit
知道出了什么问题吗?我是否正确使用发送方法?
由于
答案 0 :(得分:1)
错误是因为在setupController
内IndexRoute
没有完全实现,因此当您发送操作时,它只能由ApplicationRoute
为了让它按照你想要的方式工作,你需要打电话发送Ember.run.later
Ember.run.later(this, function(){
this.send('refreshFoo')
});
答案 1 :(得分:0)
定义控制器内的动作。并致电controller.send('action');