“处理动作的路由和控制器必须将动作处理程序放在动作散列中。即使路由具有与动作同名的方法,除非它在动作散列内,否则它不会被触发。在控制器的情况下,虽然不赞成直接在控制器上触发方法,但强烈建议您将操作处理方法放在操作哈希中以实现前向兼容性。”
那是来自 ember 文档,听起来我应该将我的操作放在控制器内的操作哈希中,但是在我将操作放入哈希后,我的控制器抱怨未捕获的错误:没有处理事件“提交”。
//this works
App.StartController = Ember.Controller.extend({
submit:function(){
alert(1);
}
});
// this complains Uncaught Error: Nothing handled the event 'submit'.
App.StartController = Ember.Controller.extend({
actions:{
submit:function(){
alert(1);
}
}
});
顺便说一句,我使用的是 v1.0.0rc