【发布时间】:2019-03-04 13:59:19
【问题描述】:
我看到了一个类似的问题,但在我的情况下它不起作用。 我有一个名为 data 的 JSON 模型,它对应于带有组合框的 SAPUi5 表单。我想在第一次打开我的应用程序时复制模型的状态并保持这种状态。之后,我想用它来重置我的表单并将组合框恢复为默认值。 当我第一次启动我的应用程序时:
this.getView().setModel(new JSONModel(data)); //create the original model
//copy the original model (copyModel is global variable
copyModel = $.extend({}, data);
直到这里一切都很好。这两个模型完全相同。之后我有一个按钮和一个重置功能:
resetP: function(){
this.getView().setModel(new JSONModel(copyModel));
console.log(copyModel);
}
我第一次在组合框中选择某些内容并单击重置按钮并运行重置功能时,copymodel 是正确的。与原始数据模型相同。当我再次更改组合框的选定值时,copyModel 开始采用选定的值。不知何故,它被覆盖了。我不知道我做错了什么。有什么建议吗?我也尝试使用 JSON.strignify 而不是扩展。
【问题讨论】:
标签: javascript json binding sapui5 model-binding