backbone.js嵌套集合,添加事件触发器,但返回父模型

时间:2012-01-11 17:33:59

标签: backbone.js backbone-events

我一直在尝试在模型中嵌套一个集合。 我有一个食谱,食谱有成分列表(集合),其中含有成分(模型)。

我首先尝试了骨干关系模型,但随后选择了此处提供的方法backbone.js structuring nested views and models

当我向集合中添加一个成分时,会触发添加事件。

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);
    }

但是在我的控制台中,我试图输出添加的成分,我正在返回配方模型。

我的模型看起来像这样

MyApp.Models.Recipe = Backbone.Model.extend({

    initialize: function(){
        this.ingredientlist = new MyApp.Collections.IngredientList();
        this.ingredientlist.parent = this;
});

如何让bind返回刚添加到集合中的成分,而不是整个配方模型?

1 个答案:

答案 0 :(得分:2)

我尝试重新创建您的代码:http://jsfiddle.net/UVYDv/,据我所知,它可以正常运行。也许是模型创建的问题?