我有一个经典的主 - 细节场景,我在backbone.js中实现。
目前我并不关心backbone.js的历史和导航部分,所以我正在跳过它。
我已实施:
现在,从gridView(Backbone集合)的其余服务返回的数据只是模型的部分数据。
因此,要显示特定模型的完整详细信息,我必须从其余服务中再次获取详细信息。
从模型中取出一个与集合断开连接的模型,对它的任何更新都不会反映在集合本身上,我必须再次刷新主视图以获取所有数据。
销毁和重新创建详细信息视图有时会使视图事件失效。
这种情况的正确实施是什么? 我并不完全了解骨干做事的最佳方式。
答案 0 :(得分:7)
首先,我建议在“gridView”集合查询中返回模型的完整详细信息。这解决了“断开连接的集合”问题。
虽然,你不必进行完整的集合加载 - 假设为整个集合进行完全加载是行不通的 - 细节太大了,例如,你应该能够通过它从集合模型到详细视图,测试它是否为部分加载或满载,并为模型发出“fetch()”,返回完整数据 - 这与集合中的模型相同,它应该更新。这有意义吗?
此外,对于详细视图,我建议,特别是如果您只设计调用一个详细视图活动,重用视图并在视图中编写一个允许您交换模型的函数。
所以,总结一下: