如何在主干中维护多个集合和视图实例

How to maintain multiple collection and view instances in backbone?

本文关键字:集合 视图 实例 维护      更新时间:2023-09-26

我的应用程序的简要结构

,

>主视图

,

>模型

,>

集合

->子视图

主视图用集合实例创建许多子视图。

在<<p> masterview/strong>
newTable:function(){
var collection=new Collection;
var subview=new SubView({collection:collection});
}
  1. 我需要从服务器获得发送请求。
  2. 我需要根据响应更新集合。

对于这些要求

  1. 我需要维护来自哪个集合的哪个请求
  2. 哪个集合必须在响应时更新。

如何维护请求和响应?

骨干网点。Sync会帮你处理。当您有一个集合时,您可以对它执行如下操作:

 collection.fetch()

集合将通过Backbone向它的url发出ajax请求。当它返回时同步和更新它自己。然后,它将触发"重置"事件,让您知道它已被更新。将子视图绑定到各自集合上的"reset"事件,如下所示:

SubView = Backbone.View.extend({
    initialize: function(){
        this.collection = this.options.collection;
        this.collection.bind("reset", this.render, this);
    }
})

这个特定的子视图应该像这样实例化new SubView({collection: yourCollection})。当你做yourCollection.fetch()时,它会渲染自己。当然,您可以绑定到任何您喜欢的函数!