Backbone.js에서 컬렉션에 맞춤 이벤트 을 발생시키고 싶지만 원래의 변경된 ID (또는 임의의 데이터)를 전달하는 데 어려움이 있습니다. 모델을 이벤트 리스너에게 전달합니다.Backbone.js 컬렉션에서 맞춤 이벤트 제기 및 데이터 전달
var CarCollection = Backbone.Collection.extend({
model: Car,
url: '/api/cars/',
parse: function (response, options) {
return response;
},
initialize: function() {
// if the car's 'Speed' changes, trigger the event
this.on('change:Speed', this.onSpeedChanged, this);
},
onSpeedChanged: function(car_id) {
// QUESTION: how to get 'car_id' here?
this.trigger('SpeedChanged', car_id);
}
});
지금이 날 같은 것을 수행 할 수 있습니다 :
은 간단히 말해, 다음 샘플은 호텔 내 모델 '속도'변경 이벤트를 때마다 시작
var cars = new CarCollection();
cars.on("SpeedChanged", function (car_id) {
console.log("This also works!");
// QUESTION: how to get 'car_id' here (= undefined, of course)?
});
주를이 이 모든 것이 작동하지만 질문은 변경된 모델에서 car_id
을 얻고이를 호출자/수신기에 전달하는 방법입니까?
을,'car_id'은 변화에서 오는 모델의, 정의되지 않습니다 : http://jsfiddle.net/nikoshr/ d2La14g7/ – nikoshr