我正在使用Backbone构建我的Web应用程序,这是我的情况:

Section = Backbone.Model.extend({
     initialize: function(){
          this.set("elements", new ElementCollection());
     }
})

ElementCollection = Backbone.Model.extend({

     model: ElementModel

})


此关系的含义是Section包含多个Elements
我现在的目标是从ElementCollection引用其父Section模型。

我该如何实现?

我试图在setproperty一个Collection,例如:

this.set("parentSection", theParentSection")


但这并不能解决问题,实际上Collection中的标准set方法在其中添加了一个模型,这破坏了我的所有结构。

最佳答案

您可以在初始化时将父模型传递给集合:

Section = Backbone.Model.extend({
     initialize: function(){
          this.set("elements", new ElementCollection([], {parentModel: this}));
     }
})

ElementCollection = Backbone.Collection.extend({
     initialize: function (options) {
         this.parentSection = options.parentModel;
     },
     model: ElementModel
})

关于javascript - 从集合中引用模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26969463/

10-13 05:59