删除模型客户端的最佳方法是什么?我不需要担心在服务器端删除它。我如何确保它被移除到处,避免每个陷阱,每个僵尸绑定。我正在寻找删除和销毁所有内容并确保模型被垃圾收集的指南。
谢谢!
答案 0 :(得分:11)
这实际上取决于此模型中的内容。如果它绑定到来自其他实例的事件 - 视图/集合/模型,则应手动删除这些事件侦听器,因为无法一次删除所有这些事件。
此外,Model.destroy()从任何集合(骨干文档)中删除模型:
销毁model.destroy([options])
...在模型上触发“销毁”事件,该事件将在包含它的任何集合中冒泡......
您可能想要做的是分配一个新的destroy方法,其中包括事件触发和您要删除的内容。
destroy: function(options) {
// Any events you wish to switch off ( if you have any )
SomeCollection.off('change', this.changeFn);
Backbone.Model.prototype.destroy.apply(this, options);
}
您可能也应该了解一些模型减少垃圾的模式:
我认为通过遵循这些规则,您不必太担心模型中的垃圾。