在我的项目中关闭CollectionView后,它引用的集合仍然可用。再次打开CollectionView会在重新加载数据时复制该集合。我认为这是预期的行为,就像documentation中所说的所有CollectionView在关闭时所做的那样:
我猜我在onClose事件处理程序上管理集合。是否有一种删除与视图相关的集合和模型的好方法?
答案 0 :(得分:2)
在您的情况下,没有必要删除该集合。不是由另一个对象直接引用的变量(在本例中是您的集合)将被javascript垃圾收集。因此,当视图和模块关闭而没有其他任何内容引用该集合时,它将被删除。
如果你想确保你不会得到任何僵尸事件,你可以在关闭模块和/或查看时清除它的事件监听器:
myCollection.off();
当然你的集合是一个全局变量(技术上是window对象的属性)然后是的,删除它可能是个好主意:
delete window.myCollection;
除此之外,将其从内存中删除并不需要担心,因为其他对象引用已关闭......