【发布时间】:2013-09-07 15:31:05
【问题描述】:
“处理动作的路由和控制器必须将动作处理程序放在动作散列中。即使路由具有与动作同名的方法,除非它在动作散列内,否则不会被触发。在这种情况下控制器,虽然不赞成直接在控制器上触发方法,但强烈建议您将操作处理方法放在操作哈希中以实现前向兼容性。”
这是来自 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
【问题讨论】:
-
此行为是最终版本为 1.0.0 的品牌。所以请从你的 RC 升级(实际上有 8 个 RC)。
-
天啊,我希望他们在他们的文档中对此有所说明!我对文档和我看过的视频之间的不一致感到非常沮丧......
-
是的,这可能会很痛苦,但是从现在开始不会再有这样的问题了,因为它们达到了 1.0.0 的最终版本。 :-) 继续走下去!这是值得的:-)