In Backbone, sto usando il nuovo evento Backbone.listenTo
. Uno dei miei casi ha l'ascoltatore attaccato a tre diversi eventi ad es .:Come trovare l'evento attivato da Backbone.listenTo?
this.listenTo(this._Collection, 'reset add change', this._setCollection);
Si chiama in modo appropriato quando si suppone che e non ci sono problemi lì. Quello che non so è come scoprire quale evento è stato attivato. Ho accesso alla tesi e
utilizzando:
_setCollection: function(e) {
// Do fun stuff
}
Il problema è che l'argomento e
invia solo una copia della raccolta e non menziona quale evento viene effettivamente attivato. Ho provato e.type
e e.target
ma questi oggetti non esistono. Ecco una copia dell'oggetto e
dagli strumenti Chrome Dev:
_byCid: Object
_byId: Object
_events: Object
add: Array[1]
change: Array[1]
remove: Array[1]
reset: Array[1]
__proto__: Object
_listenerId: "l16"
length: 3
models: Array[3]
Come posso trovare ciò evento è stato attivato?
EDIT: Risposta Precisazione: Anche se la risposta marcata è tecnicamente corretto, come ha sottolineato mu_is_too_short la risposta corretta sta usando più gestori e non eseguire questo tipo di "cavilli"
Sì, totalmente d'accordo. Ho trovato il problema perché stavo guardando l'evento remove e contenendolo tutto all'interno di una funzione. Avevo notato che gli argomenti erano diversi e dovevo metterlo nella domanda. Ad ogni modo, grazie per la tua hackery. Userò diversi gestori per ciascuno. – Brandon