我会尽量简洁地描述这一点。在我正在开发的应用程序中,保存了 Backbone 模型,然后可以稍后对其进行编辑。目前,我将它设置为功能完全动态的地方。
例子:this.model.set('attribute', value)
那里有标准的东西。这就是问题所在。客户端希望在用户明确单击保存并完成按钮之前不保存更新的模型。
以前,我使用这种模式进行编辑:
this.model = options.previousModel || new NamedBackboneModel({
id: this.model.get('id'),
attr: otherModel.get('attr')
});
我已经将该示例中的属性和模型名称设为通用名称,但效果很好。在整个视图中,我会使用model.set('attr' value)
它,它是完美的。
我可以对previousModel进行编辑而不立即将它们保存到以前的模型的最佳方式是什么?
我研究过使用普通对象来跟踪更改,但我认为必须有一种更好的方法,它更符合典型的 Backbone 模式。
自然地,我尝试了,new NamedBackboneModel(options.previousModel.toJSON())
但由于模型上的嵌套集合没有按预期工作,并且需要进行一些架构更改。
我认为previousModel 上的克隆可以工作,但我也没有任何运气使用这种方法。感谢您的帮助,如果我需要提供更多说明,请告诉我。