【问题标题】:Backbone.js collection adds a copy of itself to collection on instantiation?Backbone.js 集合在实例化时将自身的副本添加到集合中?
【发布时间】:2012-06-11 20:43:13
【问题描述】:

我周末一直在学习 Backbone.js,在构建一个简单的应用程序时出现了一个我不太明白的问题。

我有一个创建集合并呈现集合视图的视图。也就是说:

  gallery: function(page,id) {
    var that = this;                

    this.galleryCollection = new GalleryCollection;
    this.galleryCollection.setID = id;
    this.galleryCollection.region = page;
    this.galleryCollection.fetch({add: true,
                  success: function(model,response) {           
                   //render logic here      
    });
  }

这按预期工作;调用 console.log(this.model.models) 会显示一个集合,其中仅包含与上述集合关联的模型。

但是,像这样构造代码:

gallery: function(page,id) {
  this.galleryCollection = new GalleryCollection({setID: id, region: page})
  this.galleryCollection.fetch()
  //additional code...

将新实例化的集合添加到正在获取的模型集合中。我可能在这里遗漏了一些基本的 Backbone.js 范例,但为什么要将集合本身​​添加到集合中?

【问题讨论】:

    标签: javascript backbone.js


    【解决方案1】:

    Backbone.Collection 构造函数的第一个参数应该是用于填充集合的模型数组。您似乎正在尝试通过将集合实例的属性传递给构造函数来设置它们。也许这是你的问题的一部分。

    【讨论】:

    • 没错,使用new GalleryCollection([], {setID: id, region: page})
    • 而且它在文档中的解释也很清楚,我需要更仔细地阅读!谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2019-02-08
    相关资源
    最近更新 更多