2
可能重複:
emberjs: how to trigger a custom event in a ViewEmberJs:自定義事件中的路由器沒有收到
我創建了一個的jsfiddle來證明這個問題。當你點擊視圖(在文本上)時,你將在控制檯中看到該視圖接收到點擊。
App.IndexView = Em.View.extend({
click: function(e) {
console.log("CLICK");
this.get("controller").send("doStuff");
}
});
App.IndexRoute = Em.Route.extend({
....
doStuff: function(e) {
alert("Do stuff") ;
}
});
這是一個完整的工作示例太http://jsfiddle.net/jeanluca/9Xasr/6/
任何建議:但是,當我創建一個自定義事件,並觸發它,它不是在路由器接收到的?
乾杯
從文檔:這些語義事件發送到您的應用程序的路由器(請參閱介紹的意見),所以他們應該前往您的路由器,我會說! –
@JeanlucaScaljeri但是'doStuff'不是一個事件處理函數。你只需從實際的事件處理程序中調用它(默認情況下是視圖中的'click'函數)。如果要將'doStuff'定義爲事件處理程序,請在目標元素上使用{{action「doStuff」}}'。 –
@JeanlucaScaljeri編輯我的回答 –