【问题标题】:emberjs should I put actions in actions hash inside controller?emberjs 我应该将动作放在控制器内的动作哈希中吗?
【发布时间】: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 的最终版本。 :-) 继续走下去!这是值得的:-)

标签: events ember.js action


【解决方案1】:

只是为了参考@mavilein 的评论,我更新了我的 ember 库,它现在可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多