Realmente depende de lo que hay dentro de este modelo. Si está vinculado a eventos de otras instancias - Ver/Colección/Modelos, debe eliminar esos detectores de eventos de forma manual, ya que no hay forma de eliminarlos todos a la vez.
Además, Model.destroy() elimina el modelo de todas las colecciones de documentos (backbone):
Destruye model.destroy ([opciones])
... desencadena un evento "destroy" en el modelo, que surgirá a través de cualquier colección que lo contenga ...
Lo que quizás desee hacer es asignar un nuevo método de destrucción que incluya el desencadenador de eventos y lo que desea eliminar.
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);
}
puede ser también se debe tener en cuenta algunas pautas para hacer menos basura de modelos:
- No coloque su modelo inicializado en una variable (mantenerlo en la colección);
- Asegúrese de escribir su código de manera que no haya ningún evento enlazado desde el Modelo (use vistas/colecciones para eso);
- Mantenga su código de modelo simple, ya que los modelos en su aplicación estarán más numerados.
Creo que siguiendo estas reglas no tendrás que preocuparte tanto por la basura de tus Modelos.
posible duplicar http://stackoverflow.com/questions/10400630/remove-a-backbone-model-by-id –
¿De dónde salió? ¿Una colección? ¿El documento? La memoria del navegador? – JMM
@JMM Sí, hemos ido de todas partes, evitando cada gotcha, cada zombie vinculante. Estoy buscando una guía completa para eliminar y destruir todo y garantizar que el modelo sea basura. – fancy