gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:20:15 27 4
gpt4 key购买 nike

我想避免在 Backbone.Collection 上的每个“添加删除重置”事件上重新渲染。

所以在 Backbone.View 中我可能有:

this.listenTo(this.collection,'remove',this.render);

如果我删除/移除一堆模型,它会为我删除的模型渲染。

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

最佳答案

您不会因为某些东西需要消失而重新渲染整个 View 。

你可以有一种方法来只删除一个模型的 View block :

model_removed: function(m) {
// find m's chunk of the view inside this.$el
// and remove it.
this.$('whatever-selector-you-need').remove();
}

然后将其绑定(bind)到 'remove' 事件:

this.listenTo(this.collection, 'remove', this.model_removed);

演示:https://jsfiddle.net/ambiguous/fL0zr67s/

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

关于javascript - 主干 - 避免在每次删除时重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352621/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com