在backbone.js中删除具有多个视图而没有内存泄漏的页面

时间:2013-06-17 13:38:22

标签: javascript backbone.js

我有一个小应用,可以在同一页面中包含大约50个视图。想象一个包含列表视图的页面,其中包含50个项目,每个项目都有它的视图。

所以我想在不做内存泄漏的情况下删除所有内容,问题是,最有效的方法是什么?

从我看到的我不能删除顶视图,我需要将所有这些视图保存在变量中并在其中的每个人上调用remove(),但这看起来非常低效。

另外,如果一个视图没有与listento绑定的事件,它是否会被错误收集,即使我没有在它上面显式调用remove(),如果我删除了DOM元素,它也会被垃圾收集?

谢谢!

1 个答案:

答案 0 :(得分:0)

View的remove功能只是:

remove: function() {
  this.$el.remove();
  this.stopListening();
  return this;
}

因此,如果没有任何侦听器,则删除DOM元素是等效的。