Backbone.js 具有重复添加事件的长寿命主干网.js收集错误

Backbone.js 具有重复添加事件的长寿命主干网.js收集错误,backbone.js,Backbone.js,视图初始化()中使用的backbone.js collection.add有问题;在我的应用程序中,当您更改分区时,我会删除视图,但不会删除该分区中使用的集合(集合在应用程序加载时初始化为空) 如果有人回到我的分区,我将使用相同的集合,并在其上初始化this.collection.add()。然而,作为一个副作用,集合现在在我的新视图中添加了2倍的模型,有没有办法防止这种行为 这只发生在Firefox中。。此外,这个double collection.add没有任何意义,因为我清楚地看到它不是同

视图初始化()中使用的backbone.js collection.add有问题;在我的应用程序中,当您更改分区时,我会删除视图,但不会删除该分区中使用的集合(集合在应用程序加载时初始化为空)

如果有人回到我的分区,我将使用相同的集合,并在其上初始化this.collection.add()。然而,作为一个副作用,集合现在在我的新视图中添加了2倍的模型,有没有办法防止这种行为


这只发生在Firefox中。。此外,这个double collection.add没有任何意义,因为我清楚地看到它不是同一个视图编号(即使它来自同一个变量)

更改视图时,必须手动解除事件侦听器的绑定-否则,事件侦听器将在内存中保留对已删除视图的引用,并且它们将永远不会被垃圾收集。从长远来看,当你的应用程序开始消耗资源时,它会导致大量内存泄漏和整个系统的速度减慢

目前,主干网中没有内置的解决方案,所以您必须自己处理

专业提示:)

例如,您可以从视图中侦听路由更改,如果路由更改,则调用“onDestroy”方法,该方法可以清除所有引用


另一个选项是-而不是删除视图-使用jquery
detach
方法,该方法不会清理所有jquery dom/自定义事件并多次重用同一视图

您能提供一个代码示例吗