考虑一个RESTful API,它在其典型响应中返回以下内容
- 结果列表
- 寻呼信息
- 导航器(即类别、子类别、位置等)
- 绘制数据
在视图中,每次更改导航器时,都必须更新结果、图形和导航器。
我希望有一个单独的fetch()来更新所有这些集合。
我已经能够做到这一点,但这并不干净,我正在寻找一种最佳实践来处理这一问题,因为我预计这将是一种常见的情况。然而,我在这方面找不到太多。
我会注意到我使用的是BackgridJS(如果这与答案相关的话)。
也许我没有在寻找合适的条件,但我会感谢任何帮助。
谢谢!
我们采用的方法是让模型中包含嵌套集合。在我们的方法中,一个模型看起来像这样:
var MyModel = Backbone.Model.extend({
nested : [
{
name: 'childCollection1',
Collection: Backbone.Collection
},
{
name: 'childCollection2',
Collection: Backbone.Collection
}
]
});
嵌套集合被实例化为初始化中的集合。在一次提取中从服务器检索数据,在parse()中使用提取的数据重置嵌套集合,并在toJSON()中转换回数组。
要点如下:https://gist.github.com/christinedraper/8cc160b4424a16828714