使用jQuery的全局customEvents

时间:2012-11-16 10:21:07

标签: jquery ember.js

我想让多个视图对用户所做的事情作出反应。所以我想,全球定制活动是实现我的目标的正确方法。如果有更好的东西,我很高兴其他想法。

根据the documentation,我应该可以将自定义事件添加到我的Ember.js应用程序中:

Mobile = Em.Application.create({
  customEvents: {
    "customevent": "customevent"
  }
});

不幸的是,文档停在那里并没有告诉我如何触发事件并将其绑定到它。所以我自己尝试并创建了一个应该“倾听”它的视图:

Mobile.HeaderView = Em.View.extend({
  templateName: "header",
  customevent: function() {
    return console.log("Custom event has been fired!");
  }
});

最后,我在我的控制台中解雇了这个事件:

$.event.trigger("customevent")

不幸的是,没有任何事情发生。

有谁能告诉我我做错了什么?或者,如果有更好的方法来获得我想要的东西?

1 个答案:

答案 0 :(得分:1)

我使用Em.Binding解决了我的问题,就像Luke Melia在幻灯片中演示的那样: http://www.lukemelia.com/devblog/archives/2012/08/23/architecting-ember-js-apps/

代码示例from another StackOverflow question

App.FailController = Em.ObjectController.extend({
    content: null,
    my: null,
    myBinding: "App.router.myController", // <-- works
});