我有一个 Backbone 集合,当我向它添加一个新模型时,“添加”事件似乎没有像我预期的那样工作。我已经绑定了 2 个视图来监听集合上的添加事件,但似乎只有一个视图收到了事件通知,并且当这种情况发生时,没有 PUT 请求发送到我的服务器。当我删除第二个绑定时,另一个绑定工作并发送 PUT 请求。这是代码片段:
var FlagList = Backbone.Collection.extend({
model: Flag // model not shown here... let me know if it would help to see
});
var FlagCollectionView = Backbone.View.extend({
el: $('ul.#flags'),
initialize: function() {
flags.bind('add', this.addFlag, this); // this one doesn't fire!!
},
addFlag: function(flag) {
alert("got it 1"); // I never see this popup
}
});
var AddFlagView = Backbone.View.extend({
el: $("#addFlagPopup"),
events: {
"click #addFlag": "addFlag"
},
initialize: function() {
flags.bind('add', this.closePopup, this); // this one fires!!
}
addFlag: function() {
flags.create(new Flag);
},
closePopup: function() {
alert("got it 2"); // I see this popup
}
});
var flags = new FlagList;
var addFlagView = new AddFlagView;
var flagCollectionView = new FlagCollectionView;