Javascript 在backbone.js中为模型分配不同的模型
我不熟悉backbone.js 我将模型值存储在一个变量中,如belo window.oldModel=this.model 当用户同步修改数据时,我向用户显示实时预览,如果用户单击保存更改,我将提交数据。但是,如果他单击放弃更改,那么我将使用前面的模型分配模型,如下所示 this.model=window.oldModelJavascript 在backbone.js中为模型分配不同的模型,javascript,backbone.js,Javascript,Backbone.js,我不熟悉backbone.js 我将模型值存储在一个变量中,如belo window.oldModel=this.model 当用户同步修改数据时,我向用户显示实时预览,如果用户单击保存更改,我将提交数据。但是,如果他单击放弃更改,那么我将使用前面的模型分配模型,如下所示 this.model=window.oldModel 这并不反映页面上的数据,我需要刷新页面以查看旧值,但我希望更改立即生效。模型是一个JavaScript对象,因此当您将window.oldModel分配给此.model时,
这并不反映页面上的数据,我需要刷新页面以查看旧值,但我希望更改立即生效。模型是一个JavaScript对象,因此当您将window.oldModel分配给此.model时,它保留的是一个引用,而不是模型的实际副本。变化总是反映在这两个方面 根据您的应用程序,您需要保存模型属性:
window.oldModel = {
attribute1 : this.model.get('attribute1'),
attribute2 : this.model.get('attribute2')
// and so on ...
};
然后用
this.model.set({
attribute1 : window.oldModel.attribute1,
attribute2 : window.oldModel.attribute2
// ....
});
或者,更简单的方法是克隆模型:
然后像以前一样,在需要时分配它。看起来像古德一样的人会尝试
window.oldModel = this.model.clone();