0
我想談談一個原始的事件(點擊)到語義事件,如「deleteTodo」 這說明here,而不是如何實現:(
我有以下代碼:emberjs:如何觸發一個自定義事件視圖中的
App.TodoView = Em.View.extend({
click: function(e) {
this.trigger("deleteTodo");
}
});
App.Router.map(function(match) {
match('/').to('index');
});
App.IndexRoute = Ember.Route.extend({
deleteTodo: function(e) {
// this code is never executed :(
}
}) ;
後,我進行「點擊」,我看到TodoView點擊函數被調用,但不能從IndexRoute的deleteTodo功能的任何建議,什麼可能錯在這裏
?CHers
我不能得到它的工作,所以我在這裏創建了一個jsfiddle:http://jsfiddle.net/jeanluca/9Xasr/6/有什麼建議嗎? –
它不是this.get('controller')。send('deleteTodo'),而是將事件發送到路由器,我們必須使用控制器中的目標屬性。例如this.get( 'controller.target')發送( 'deleteTodo')。我在這裏更新小提琴:http://jsfiddle.net/9Xasr/9/ – guleria
當你發送一個事件給控制器時,它會冒泡到路由器。我更喜歡發送給控制器,以防它處理事件,如果我忽略它,那麼它會冒泡到路由器。 –