Wie kann eine übergeordnete Eigenschaft in Backbone ordnungsgemäß festgelegt werden?

Ich habe eine JSON-Datei, die meine erstelltParentModel sowie das Kind bevölkernRecords Sammlung.

ParentModel : Backbone.Model.extend({
  initialize: function() {
    this.set({ records: new Records(this.get("records")) });
  }
});

Und die Records-Sammlung ist nur eine grundlegende Backbone-Sammlung, die einem Record-Modell zugeordnet ist.

Das Problem ist, dass ich das Kind über die Eltern wissen muss, also jedenRecord Modell muss eine übergeordnete Eigenschaft haben. Im Moment füge ich dies also ganz unten in die Initialisierungsmethode ein:

var self = this;
this.get("records").each(function(record) {
  record.set("parent", self);
});

Das funktioniert gut, aber wenn ich einen neuen Datensatz erstelle, muss ich mich lieber nicht daran erinnern, diese 4 Zeilen einzuschließen.

Diese Antwort sagt, dass ich die Initialisierungsmethode überschreiben kann, um zusätzliche Parameter aufzunehmen, aber ich bin nicht ganz sicher, wie ich Backbone dazu bringen würde, das ParentModel automatisch an die überschriebene Initialisierungsmethode zu übergeben. Kann mir jemand ein Beispiel geben, wie das geht?

Ich habe davon gehörtBackbone-relational Das könnte helfen, was ich will, aber das sind weitere 23 KB. Wenn dies der bessere Weg ist, werde ich mich mit der Implementierung befassen, aber ansonsten würde ich eine einfachere Lösung vorziehen, wenn eine verfügbar ist.

Das muss funktionieren, ob ich ein neues erstelleParentModel Aufzeichnen über Code oder wenn er automatisch von einem JSON-Feed erstellt wird.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage