Backbone.js 尝试将集合添加到模型并在视图中的多个位置渲染它
我正在尝试构建一个应用程序,允许您在多个位置的视图中创建项目 例如,在父集合中创建新模型时,可以从集合中添加模型 我遇到的问题是,当我将集合添加到模型并进行迭代时,它会为每个循环添加集合。因此,它最终会在模型中产生大量重复的集合 父模型渲染具有以下循环:Backbone.js 尝试将集合添加到模型并在视图中的多个位置渲染它,backbone.js,backbone-views,backbone.js-collections,Backbone.js,Backbone Views,Backbone.js Collections,我正在尝试构建一个应用程序,允许您在多个位置的视图中创建项目 例如,在父集合中创建新模型时,可以从集合中添加模型 我遇到的问题是,当我将集合添加到模型并进行迭代时,它会为每个循环添加集合。因此,它最终会在模型中产生大量重复的集合 父模型渲染具有以下循环: this.noteTasksViewAdding = new NoteTaskListViewAdding({ collection: tasks }); $('.note-tasks-list-all').ap
this.noteTasksViewAdding = new NoteTaskListViewAdding({ collection: tasks });
$('.note-tasks-list-all').append(this.noteTasksViewAdding.render().el);
this.collection.each(function(note){
var view = new NoteView({ model: note });
$('#items-list').prepend(view.render().el);
});
然后,模型中包含以下渲染:
render: function() {
this.noteTasksViewAdding = new NoteTaskListViewAdding({ collection: tasks });
$('.note-tasks-list-all').append(this.noteTasksViewAdding.render().el);
this.$el.html(this.template(this.model.toJSON()));
return this;
}
我希望发生的是,在渲染集合时将其添加到模型中。我愿意接受任何关于如何做得更好的建议
谢谢 我也面临着这个问题。解决方案是在设置集合之前清除视图。在您的情况下,设置父视图时,可以执行以下操作:
$('.note-tasks-list-all').html(this.noteTasksViewAdding.render().el);
然后你可以添加你的收藏成员。我问这个问题做得很糟糕。我在这里创造了一个更好的答案:-测试你的答案有时有效,但我认为我在另一个地方遗漏了一些东西。谢谢你的时间和努力。