2012-06-12 71 views
1

我有兩個不同的視圖中收集的變化(1),(2)
1)它顯示的用戶列表中
2)它向用戶顯示該模型變化不會觸發

的細節

在(2)可以改變名稱。
然後我期望(1)中的記者項目相應地改變,但它不會。

如何修復/調試問題?

這裏我必需代碼:

// list of users (1) 
View_1 = Backbone.View.extend({ 
    collection: new MyCollection(), 
    initialize: function() { 
     this.collection.bind('add', this.addOne); 
     this.collection.bind('reset', this.addAll); 
    } 
}); 

// user detail (2) 
View_2 = Backbone.View.extend({ 
    model: new MyModel() 
}); 

MyCollection = Backbone.Collection.extend({ 
    model: new MyModel() 
}); 
+5

你似乎沒有綁定到'View_1'中的'change'事件...? – stusmith

+0

在初始化'View.collection'時,我想知道在開始向它添加數據之前,是否在某個時候用新的'Collection'替換它。我的意思是如果你改變_reference_所針對的Collection。 – fguillen

回答

2

你需要綁定一個change事件的集合。現在你只能綁定resetadd,所以事情只會在新的模型被添加到集合中時,或者當集合用初始值初始化時更新。

this.collection.bind('change', this.render); 

或類似的東西,以觸發渲染任何需要改變。

+0

感謝您的時間。我嘗試過,但它不起作用?你有一些想法,爲什麼?或者我該如何測試它? –

+1

@LorraineBernard你能否在這個問題上詳細說明你究竟做了什麼?你會想在回調中加入一些'console.log'調用來檢查它是否在變化時被調用。另外,我之前假設您發佈的這個代碼只是一個示例,但要確認,您還需要將模型正確添加到集合中。 – loganfsmyth

相關問題