¿Cómo puedo saber qué evento se desencadena en una colección de red troncal cuando se unen varios eventos utilizando .on()? Vea el siguiente ejemplo para aclaración. (Véase también la jsFiddle: http://jsfiddle.net/PURAU/3/)Obteniendo nombres de eventos cuando se utiliza .on() para múltiples eventos en una colección 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();
Gracias por su respuesta. –
Los comentarios sobre la función desencadenante en la fuente Backbone indican "desencadenar uno o más eventos, disparando todas las devoluciones de llamada. Las rellamadas reciben los mismos argumentos que 'trigger', además del nombre del evento." No veo por qué no sería bueno enviar siempre el nombre del evento. ¿Ves una buena razón? –
No solo en el caso del evento 'todos'. –