Ist es eine schlechte Praxis, undelegateEvents()
in der Ansicht remove()
Methode aufzurufen? Warum war es nicht standardmäßig von den Backbone-Jungs enthalten?Der beste Weg, um Ereignisse zu enthüllen, sobald eine Ansicht nicht mehr benötigt wird
Ich erkannte, dass ich in so viele bindende Probleme verlaufe, wenn ich einfach eine Ansichtsvariable reinitialisiere. Obwohl undelegateEvents()
automatisch aufgerufen wird, wenn eine neue Ansicht erstellt wird, versucht es, Ereignisse für die neu instanziierte Ansicht und nicht die vorherige wieder zu entfernen. Aus diesem Grund bleiben Ghost-Event-Callbacks erhalten, wenn sie nicht jedes Mal manuell aufgerufen werden.
Was ist der beste Weg, damit umzugehen?
verwandt? http://stackoverflow.com/questions/10429648/backbone-js-how-to-unbind-from-events-on-model-remove/10433015#10433015 – fguillen
Verwenden Sie ein 'el' beim Wechseln der Ansichten und nicht erneut neue schaffen? Der jQuery 'delegate' ist an den' el' der Ansicht gebunden. –
@muistooshort Ja, ich benutze oft den gleichen DOM-Container, und gebe es der Ansicht, anstatt ein neues zu erstellen und anzuhängen. Aus diesem Grund ist das Entfernen der Ghost-Callbacks von entscheidender Bedeutung. – preslavrachev