2

我希望有多个视图对用户所做的事情做出反应。所以我想,一个全球性的自定义活动将是实现我的目标的正确选择。如果有更好的东西,我很高兴有其他想法。

根据文档,我应该能够像这样将自定义事件添加到我的 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")

不幸的是,什么也没有发生。

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

4

1 回答 1

1

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

来自另一个 StackOverflow 问题的代码示例:

App.FailController = Em.ObjectController.extend({
    content: null,
    my: null,
    myBinding: "App.router.myController", // <-- works
});
于 2012-11-20T21:09:05.010 回答