2
我想讓多個視圖對用戶所做的事情做出反應。所以我認爲,全球定製事件對我來說是正確的。如果有更好的東西,我爲其他想法感到高興。使用jQuery的全局customEvents
據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")
不幸的是,沒有任何反應。
有人可以告訴我我做錯了什麼嗎?或者,如果有更好的方法來獲得我想要的東西?
我要說的是,你應該觸發這樣的事件:$(」 #foo ')觸發(' 點擊');因爲你做這件事的方式可能在更高的範圍內,這就是爲什麼燼沒有抓住它。 #foo應該是您的視圖中的選擇者。 –
你說得對,當我在視圖中的選擇器上調用'trigger()'時,它就可以工作。但是「在我看來」也意味着它不再是全球性事件了,對吧? – kraftwer1