Обратите внимание на модель из коллекции

Я использую Backbone для структурирования своего веб-приложения, вот моя ситуация:

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

ElementCollection = Backbone.Model.extend({

     model: ElementModel

})

Смысл этого отношения в том, что Section содержит несколько Elements. Моя цель теперь состоит в том, чтобы обратиться от ElementCollection к его родительской модели Section.

Как я могу этого добиться?

Я пытался set property в Collection, например:

this.set("parentSection", theParentSection")

но это не помогает, на самом деле стандартный метод set в коллекции добавляет внутри нее модель, которая ломает всю мою структуру.


person steo    schedule 17.11.2014    source источник
comment
Что-то вроде этого stackoverflow.com/a/11417645/1071630?   -  person nikoshr    schedule 17.11.2014
comment
Это может быть решением. Что я хочу сделать, так это указать модель из коллекции, а не из каждой модели внутри нее.   -  person steo    schedule 17.11.2014


Ответы (1)


Вы можете передать родительскую модель в коллекцию при ее инициализации:

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
})
person Vahan Vardanyan    schedule 17.11.2014