Làm cách nào để biết sự kiện nào được kích hoạt trên bộ sưu tập Backbone khi liên kết nhiều sự kiện với nó bằng cách sử dụng .on()? Xem ví dụ sau để làm rõ. (Xem thêm các jsFiddle: http://jsfiddle.net/PURAU/3/)Lấy tên sự kiện khi sử dụng .on() cho nhiều sự kiện trên bộ sưu tập 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();
Cảm ơn câu trả lời của bạn. –
Nhận xét về chức năng kích hoạt trong trạng thái nguồn xương sống "Kích hoạt một hoặc nhiều sự kiện, kích hoạt tất cả các cuộc gọi lại bị ràng buộc. Các cuộc gọi được chuyển cùng một đối số như' trigger', ngoài tên sự kiện. " Tôi không hiểu tại sao không phải lúc nào cũng gửi tên sự kiện. Bạn có thấy lý do chính đáng không? –
Không chỉ trong trường hợp sự kiện 'tất cả'. –