我有骨幹以下的問題,我想知道什麼樣的策略是更多的撥款重新呈現骨幹觀點不失引用DOM
我有一個選擇控制,作爲骨幹觀點,認爲最初加載實現用一個選項說「加載選項」。所以我加載只有一個元素的數組,並呈現視圖。
選項將從集合中加載,所以我啓動了一個提取集合。
然後,我初始化一個組件負責顯示每個字段的行錯誤。所以我保存了組合的dom元素的引用。
當獲取操作終於準備就緒時,我重新提交從集合中加載的所有選項的控件。
渲染視圖我的用戶是這樣的:
render: function() {
this.$el.html(this.template(this.model.attributes));
return this;
}
相當標準的骨幹東西
問題是渲染視圖第二次以後的DOM的引用不再有效。 ,
也許這種情況有點奇怪,但我可以想到很多情況下,我必須重新渲染一個視圖而不丟失它們的doms引用(例如,取決於另一個組合的組合)
所以我不知道什麼是重新渲染視圖,而不會丟失所有引用視圖內的DOM元素的最佳途徑......
我的2美分...你不應該直接使用model.attributes,這就是爲什麼你有model.get('something')和model.set('something',value)或model.set({some: a,thing:b})。 – 2013-02-16 14:37:08
使用model.attributes只能閱讀它有什麼問題?我明白爲什麼我應該使用Model#Set(觸發更改事件和其他內容),但Model#Get沒有多大作用。看看代碼,它只是一個:return this.attributes [attr]; – opensas 2013-02-16 17:43:53
而且,據我所見,沒有model.getAll()。 model.attributes似乎是唯一的方法來做到這一點。 – morewry 2013-02-27 16:33:36