使用jQuery的全局customEvents
我希望有多个视图对用户所做的事情做出反应。所以我想,一个全球性的定制活动将是实现我目标的正确选择。如果有更好的,我很乐意有其他的想法 根据,我应该能够向我的Ember.js应用程序添加自定义事件,如下所示:使用jQuery的全局customEvents,jquery,ember.js,Jquery,Ember.js,我希望有多个视图对用户所做的事情做出反应。所以我想,一个全球性的定制活动将是实现我目标的正确选择。如果有更好的,我很乐意有其他的想法 根据,我应该能够向我的Ember.js应用程序添加自定义事件,如下所示: Mobile = Em.Application.create({ customEvents: { "customevent": "customevent" } }); 不幸的是,文档到此为止,没有告诉我如何触发事件并将某些内容绑定到它。所以我自己尝试了一下,并创建了一个应该
Mobile = Em.Application.create({
customEvents: {
"customevent": "customevent"
}
});
不幸的是,文档到此为止,没有告诉我如何触发事件并将某些内容绑定到它。所以我自己尝试了一下,并创建了一个应该“倾听”它的视图:
最后,我在控制台中触发了事件:
$.event.trigger("customevent")
不幸的是,什么也没有发生
谁能告诉我我做错了什么?或者是否有更好的方法来获得我想要的东西?我已经用
Em.Binding解决了我的问题,就像Luke Melia在幻灯片中演示的那样:
代码示例:
App.FailController=Em.ObjectController.extend({
内容:空,
我的:空,
myBinding:“App.router.myController”//我想说你应该触发这样的事件:$('#foo').trigger('click');因为你这样做的方式,可能在更高的范围内,这就是为什么ember没有捕捉到它。#foo应该是你视图中的一个selectir。你是对的,当我调用trigger()
在我的视图中的选择器上。但是“在我的视图中”也意味着它不再是一个全局事件,对吗?
$.event.trigger("customevent")
App.FailController = Em.ObjectController.extend({
content: null,
my: null,
myBinding: "App.router.myController", // <-- works
});