我剛剛開始使用backbone.js。到目前爲止,我非常喜歡它。backbone.js:影響集合中的不同模型的按鈕視圖
我有這樣的事情:
- MODELA
- ModelB
- ViewA
- ViewB
MODELA持有ModelB
的集合,我怎樣才能建立一個ModelB的ViewB帶有一個按鈕,單擊時會更改集合中下一個ModelB實例的屬性?
我剛剛開始使用backbone.js。到目前爲止,我非常喜歡它。backbone.js:影響集合中的不同模型的按鈕視圖
我有這樣的事情:
MODELA持有ModelB
的集合,我怎樣才能建立一個ModelB的ViewB帶有一個按鈕,單擊時會更改集合中下一個ModelB實例的屬性?
var col = this.model.collection;
var nextModel = col.at(col.indexOf(this.model) + 1)
if(nextModel) nextModel.set({whatevar});
你並不需要保持父集合的軌道,骨幹爲你做。 你應該檢查你是否也在收集結束。
我想我想出了一些東西。我會分享看看其他人的想法,以便其他人可以從中受益。
我只是將對父集合的引用傳遞給集合中的每個模型。
在我的收藏,添加一個新的實例時:
var newModelBInstance = new ModelB({ id: "xxx", ParentCollection: this });
然後,我ModelB視圖中:
this.model.get("ParentCollection").at(this.model.sortValue + 1).set({ myAttr: false });
喜歡它。 backbone.js圖片對我來說越來越清晰明瞭。這顯然是由那些已經思考過並且已經將他們的工作投入到真正解決方案測試中的人們所做出的。謝謝。 – 2011-05-06 19:10:51
這是在文檔中?我找不到它。 – 2011-05-08 14:53:54
這是在代碼中。你可以在http://documentcloud.github.com/backbone/docs/backbone.html這個小警告中閱讀註釋版本,如果你將模型添加到多個集合中,只有最後一個會被引用。 – Julien 2011-05-08 16:41:12