Как правильно установить родительское свойство в Backbone?
У меня есть файл JSON, который создаст мойParentModel
а также заселить ребенкаRecords
коллекция.
ParentModel : Backbone.Model.extend({
initialize: function() {
this.set({ records: new Records(this.get("records")) });
}
});
А коллекция Records - это просто базовая коллекция Backbone, которая сопоставляется с моделью Record.
Проблема в том, что мне нужно, чтобы ребенок знал о родителе, поэтому каждыйRecord
Модель должна иметь родительское свойство. Итак, на данный момент я только что добавил это в конец метода инициализации:
var self = this;
this.get("records").each(function(record) {
record.set("parent", self);
});
Это работает нормально, но когда я создаю новую запись, я не должен забывать включать эти 4 строки.
Этот ответ говорит, что я могу переопределить метод initialize, чтобы получить дополнительные параметры, но я не совсем уверен, как бы заставить Backbone автоматически передавать ParentModel в переопределенный метод инициализации. Кто-нибудь может привести пример, как это сделать?
Я слышал оМагистральная-реляционная что может помочь сделать то, что я хочу, но это включает еще 23 КБ. Если это лучший путь, я посмотрю на его реализацию, но в противном случае я бы предпочел более простое решение, если оно доступно.
Это должно работать, если я создаю новыйParentModel
записывать через код или автоматически создавать его с помощью фида JSON.