Backbone.js verschachtelte Sammlung, Ereignisfeuer hinzufügen, gibt jedoch das Elternmodell zurück [geschlossen
-
27-10-2019 - |
Frage
Ich habe versucht, eine Sammlung innerhalb eines Modells zu nisten. Ich habe ein Rezept und ein Rezept enthält Zutatenlisten (Sammlung) mit Zutaten (Modell).
Ich habe zuerst das relationale Backbone-Model ausprobiert, mich dann aber für die hier bereitgestellte Methode entschieden Backbone.js strukturieren verschachtelte Ansichten und Modelle
Wenn ich der Sammlung eine Zutat hinzufüge, wird das Add -Ereignis ausgelöst.
initialize: function(){ recipe = this.model; console.log(recipe); _.bindAll(this,"add","remove"); recipe.ingredientlist.each(this.add); recipe.ingredientlist.bind('add', this.add); recipe.ingredientlist.bind('remove', this.remove); this.render(); }, add: function(ingredient){ console.log(ingredient); }
Aber in meiner Konsole, wo ich versuche, den hinzugefügten Zutat auszugeben, bekomme ich das Rezeptmodell zurück.
Mein Modell sieht so aus
MyApp.Models.Recipe = Backbone.Model.extend({ initialize: function(){ this.ingredientlist = new MyApp.Collections.IngredientList(); this.ingredientlist.parent = this; });
Wie bekomme ich die Bindung, um den Zutaten zurückzugeben, der gerade zur Sammlung hinzugefügt wurde, und nicht das gesamte Rezeptmodell?
Lösung
Ich habe versucht, Ihren Code neu zu erstellen: http://jsfiddle.net/uvydv/ Und soweit ich das beurteilen kann, funktioniert es wie beabsichtigt. Vielleicht ein Problem mit der Erstellung der Modelle?