Come faccio a sapere quale evento viene attivato su una raccolta Backbone quando si collegano più eventi utilizzando .on()? Vedi il seguente esempio per chiarimenti. (Si veda anche il jsFiddle: http://jsfiddle.net/PURAU/3/)Ottenere i nomi degli eventi quando si utilizza .on() per più eventi in una raccolta Backbone.
var Car = Backbone.Model.extend({
nrOfWheels: 4,
color: 'red',
speed: 'slow'
});
var Garage = Backbone.Collection.extend({
model: Car
});
var myGarage = new Garage(),
myCar = new Car();
myGarage.on('add change reset', function() {
// How do I know what event was triggered?
console.log('add change reset', arguments);
});
myGarage.on("all", function() {
// In here, the name of the event is the first argument.
console.log('all', arguments);
});
// Trigger add
myGarage.add(myCar);
// Trigger change
myCar.set('speed', 'fast');
// Trigger reset
myGarage.reset();
Grazie per la risposta. –
I commenti sulla funzione di trigger negli stati sorgente Backbone "Attivano uno o più eventi, attivando tutti i callback associati. Le callback vengono passate gli stessi argomenti di" trigger ", a parte il nome dell'evento." Non vedo perché non sarebbe bello inviare sempre il nome dell'evento. Vedi una buona ragione? –
Non solo nel caso di evento 'tutti'. –