使用Backbone.js中的单个提取来处理更新多个集合的好方法是什么?

时间:2014-09-04 07:36:11

标签: backbone.js backgrid

考虑一个RESTful API,它在其典型响应中返回以下内容

  • 结果清单
  • 分页信息
  • 导航员(即类别,子类别,地点等)
  • 图表数据

在视图中,每次更改导航器时,都必须更新结果,图形和导航器。

我希望有一个fetch()来更新所有这些集合。

我已经能够做到这一点,但它并不干净,我正在寻找最佳实践来处理这个,因为我希望这是一个常见的场景。然而,我在这方面找不到多少。

我会注意到我正在使用Backgrid JS(如果这与答案相关)。

也许我没有找到合适的条款,但我很感激您的帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我们采用的方法是在其中包含嵌套集合的模型。在我们的方法中,模型看起来像这样:

var MyModel = Backbone.Model.extend({
  nested : [
  {
    name: 'childCollection1',
    Collection: Backbone.Collection
  },
  {
    name: 'childCollection2',
    Collection: Backbone.Collection
  }
  ]
});

嵌套集合在初始化时被实例化为集合。通过单次提取从服务器检索数据,嵌套的集合使用parse()中的获取数据重置,并转换回toJSON()中的数组。

这里有一个要点: https://gist.github.com/christinedraper/8cc160b4424a16828714