我有一个基本的骨干模型集合。
我正在使用的视图显示有关模型的信息,允许编辑。
在我的视图渲染中,我根据传入的“id”捕获模型。
render: function() {
this.model = myCollection.get(this.options.passedInId);
// do the render...
}
然后我有一个单击事件,它更新模型并调用渲染以使用更新重新渲染
updateModel: function() {
var me = this;
this.model.set('someFlag', true);
this.model.save(this.model.toJSON(), {
success: function(model, resp) {
me.render();
}
}
我的问题是,当它第二次通过渲染返回时,集合中的 get 返回模型的不同实例(我可以在其上看到不同的 cId),其中不包含我更改的“someFlag”属性。因此,重新渲染视图时不会显示我的编辑。我知道可能有一种更有效的方法来处理这个问题,但我的问题是为什么会发生这种情况?从集合中获取的模型不应该包括我对该模型所做的编辑吗?
唯一的另一件事是,此示例中的“myCollection”可能已在初始获取和编辑后的下一次获取之间重置,但 id 仍然存在,它会找到一个没有任何更新的模型。