回答
和大多數Backbone.js一樣,你不會得到一個「正確的」答案,但我可以分享我是如何做到的。對於模型和視圖,我通常遵循以下指導原則:
視圖和模型應該由對其「負責」的組件實例化。對於具有明確的父/子關係的模型或視圖,父模型應該實例化,通常在
initialize()
方法中。父母應該在實例化時綁定到子事件。
父母應該「意識到」孩子,並且可以在必要時調用子方法 - 我通常會使用此方法來觸發子事件,因爲它更加明確。我儘量讓孩子獨立於父母,通過事件向上溝通。所以是的,深度嵌套模型會通過事件鏈進行溝通。
我有時候會把
.set()
作爲骨幹屬性,但通常只是使用簡單的Javascript屬性(例如this.child
)。這取決於上下文。使用Backbone屬性提供了change
事件,因此如果您需要監視孩子是否更改,請使用這些。骨幹屬性還使您能夠設置實例化時間,例如var myModel = new Model({ other: otherModel })
- 但是由於父母通常實例化他們的孩子,這並不適用於這種情況,我通常將該模式用於非等級模型 - 模型關係。在大多數情況下,我將孩子設置爲簡單的Javascript屬性。
我真的很喜歡@nrabinowitz的答案。他涵蓋了所有正確的細節。
只是想折騰出使用類似Backbone.Relational處理所有這些東西對你的想法:https://github.com/PaulUithol/Backbone-relational
我最終有類似的問題,這個主幹問題,任何想法?我想我可能會期望自動創建的模型有不同的行爲? http://stackoverflow.com/questions/7685791/backbone-relational-events-not-firing – boom
- 1. 骨幹聽嵌套模型/集合?
- 2. Backbone.js - 嵌套模型和集合中的多個模型?
- 3. Mongoose嵌套模式vs嵌套模型
- 4. 集合嵌套模型TableView(Appcelerator合金)
- 5. backbonejs嵌套模型和集合的最佳實踐
- 6. 嵌套集模型PHP庫
- 7. GROUP_CONCAT與嵌套集模型
- 8. 嵌套集模型維護
- 9. 嵌套集模型MySQL
- 10. Backbone.js:嵌套相同類型的模型和集合
- 11. 骨幹嵌套集合模型偵聽添加
- 12. 如何創建嵌套模型和集合(子集合)
- 13. 嵌套模型
- 14. 如何使用backbone.js「獲取」嵌套模型和集合
- 15. 嵌套形式Django的,嵌套模型
- 16. ExtJS的和嵌套模型
- 17. 將Adjancey列表模型和嵌套集合模型結合起來被認爲是不好的設計嗎?
- 18. 在同一模型上嵌套模型的巢模型形式,嵌套模型... Rails 3
- 19. 嵌套模型形式
- 20. 嵌套形式與模型
- 21. 編輯器模板中的模型綁定嵌套集合
- 22. 嵌套模型/嵌入式套件
- 23. BackboneJS - 傾聽嵌套模型變化
- 24. 模型和嵌套表格
- 25. Ember.js嵌套ArrayController和模型
- 26. 模型嵌套在多個模型下?
- 27. 嵌套模型中的友好標識
- 28. Rails嵌套模型
- 29. CakePHP嵌套模型
- 30. Backbone.js嵌套模型
很好的答案。明白,有不止一個規範的最佳方法 –