.on()を使用して複数のイベントをバインドするときに、バックボーンコレクションでどのイベントがトリガーされるのかを知るにはどうすればよいですか?明確にするために、次の例を参照してください。 、あなたがそうするためにtrigger
メソッドをオーバーライドする必要がありますバックボーンコレクションの複数のイベントに対して.on()を使用する場合のイベント名の取得。
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();
ご回答ありがとうございます。 –
バックボーンソース状態のトリガー機能についてのコメント "1つまたは複数のイベントをトリガーし、すべてのバインドされたコールバックを起動します。コールバックには、イベント名とは別に' trigger'と同じ引数が渡されます。なぜイベント名を送るのがいいのかわかりません。あなたは正当な理由を見ますか? –
'all'イベントの場合だけでなく、 –