Javascript 主干-避免每次删除时重新渲染

Javascript 主干-避免每次删除时重新渲染,javascript,backbone.js,Javascript,Backbone.js,我希望避免在Backbone.Collection上的每个“添加-删除-重置”事件上重新呈现 因此,从主干来看,我可能会: this.listenTo(this.collection,'remove',this.render); 如果我删除/删除一组模型,它将为我删除的所有模型进行渲染 避免这种情况的最佳方法是什么?您不必仅仅因为需要删除某些内容而重新渲染整个视图 您可以使用一种方法仅删除一个模型的大块视图: model_removed: function(m) { // find m

我希望避免在Backbone.Collection上的每个“添加-删除-重置”事件上重新呈现

因此,从主干来看,我可能会:

this.listenTo(this.collection,'remove',this.render);
如果我删除/删除一组模型,它将为我删除的所有模型进行渲染


避免这种情况的最佳方法是什么?

您不必仅仅因为需要删除某些内容而重新渲染整个视图

您可以使用一种方法仅删除一个模型的大块视图:

model_removed: function(m) {
    // find m's chunk of the view inside this.$el
    // and remove it.
    this.$('whatever-selector-you-need').remove();
}
然后将其绑定到
'remove'
事件:

this.listenTo(this.collection, 'remove', this.model_removed);
演示:


或者,您可以嵌套视图,以便每个模型有一个子视图,集合有一个整体视图。集合视图将根据需要创建和呈现模型视图,然后简单地调用子视图以响应集合中的
'remove'
事件。

避免此情况的一种方法是在所有模型都已移除时触发自定义事件,并侦听该自定义事件,而不是听普通的“删除”。那么你如何删除几个模型呢?你在清理什么地方有藏品吗?你已经回答了我们在这里看到的问题。如果你想要更多的话,你需要具体一点?你是说我的评论是个好主意,这是我在写问题时编造的。我正在寻找一个例子,最佳实践,等等。以前试过的人。