在 Backbone.js 视图之一中,我正在使用this.model.set( { read: true } );
. 我验证了这个命令只执行一次(我知道“鬼事件”)。正如您在下面看到的,我将 Collection 配置为触发一个更新事件,在该事件中,整个 Collection 被保存到一个变量中。不幸的是,该saveToVar
函数被调用了 3 次而不是 1 次!此外,第一次saveToVar
被调用,this
正确地包含所有集合的模型,而第二次和第三次this
只有一个模型,即我进行更新的那个。我逐个追踪所有内容,但我不知道为什么会发生这种情况。
window.Message = Backbone.Model.extend({
});
window.MessageCollection = Backbone.Collection.extend({
model: Message,
initialize: function()
{
this.on("change", this.saveToVar);
},
saveToVar: function(e)
{
App.Data.Messages = this.toJSON();
return;
}
});