我在骨干文档中读到调用collection.reset()清除了集合.我想知道它是否也删除了模型,还是继续存在于内存中?
如果没有删除它们是否有更简单的方法来删除集合中的所有模型而不重复模型和调用model.remove()?
您正在寻找的可能是要对模型进行垃圾收集。也就是说,当这些模型从集合中删除后,就没有人再引用它们了。
当从集合中删除模型时,Backbone 会删除它在模型上设置的引用。但是,如果您的代码引用了这些模型,则您必须自己进行清理。大多数情况下,如果这些模型注册为事件侦听器,就会发生这种情况,如下例所示: http: //jsfiddle.net/dira/4uxp4/2/
查看 的实现reset,您_removeReference也可以更改为在模型上调用清理函数。在模型中,从所有监听器/保留对其引用的所有其他对象中删除该模型。