2013-02-27 57 views

回答

3

一個好方法是使用調解器模式,這樣你就不會緊密地耦合你的視圖。 在Backbone的最新版本中,可以使用Backbone對象作爲中介。

鑑於1:Backbone.trigger('somethingHappened', {id: 1});

鑑於2:

//action when 'something' happens 
onSomething : function(data){ 
    console.log('Got that: ' + data.id) 
} 
//... in the view init ... 
Backbone.on('somethingHappened', onSomething) 
//... in the view destruction... 
Backbone.off('somethingHappened', onSomething); 

也可以使用更近listenTo方法。 當然,它只會在view2已經初始化時才起作用。

+0

在我的視圖1:我有一個函數,在這個函數中是這個調用。 'Backbone.trigger('addMarkers',json);'然後我有觀點2.在初始化我有'Backbone.on('addMarkers',addMarkers);'我有'addMarkers:function(json){// ....做些事情}'。這似乎並沒有工作 – Seth 2013-02-27 15:57:59

+1

添加一個console.log內的addMarkers函數來檢查它去那裏。當view1觸發'addMarkers'時,你是否確定view2已經初始化? – Greg 2013-02-27 16:01:05

相關問題