backbone.js nested collection, add event fires, but returns parent model
I've been trying to nest a collection inside a model. I've got a recipe, and a recipe has ingredientslist(collection) which has ingredient(model).
I first tried backbone relational-model, but then opted for the method provided here backbone.js structuring nested views and models
When I add an ingredient to the collection, the add event is triggered.
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);
}
but in my console, where I am trying to output the ingredient which was added, I'm getting the recipe model returned.
My model looks like this
MyApp.Models.Recipe = Backbone.Model.extend({
initialize: function(){
this.ingredientlist = new MyApp.Collections.IngredientList();
this.ingredientlist.parent = this;
});
how do I get the bind to return the ingredient which was just added to the collection, rather than the entire recipe model?
I tried to recreate your code: http://jsfiddle.net/UVYDv/ and, as far as I can tell, it works as intended. Maybe a problem with the creation of the models?
链接地址: http://www.djcxy.com/p/48312.html上一篇: 从集合中删除绑定以从视图中删除
