点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
在我的SAPUI5应用中,我有一个json模型(在清单中定义),它是从本地存储的json文件中获取数据的。
" oDefaultModel":{ " type":" sap.ui.model.json.JSONModel", " uri":" model/defaultModel.json", "设置":{ " defaultBindingMode":" OneTime" } },
此模型具有一些东西的默认值,这些东西应该始终保持不变。 然后,我有一个绑定到后端系统中数据的自定义控件,然后从后端读取数据
var oData = this.getBinding(" data"); 如果(oData){ var aData = oData.getContexts()。map(function(oContext){ 返回oContext.getObject(); });
然后我使用循环将来自后端的数据与默认模型数据合并在一起,并在必要时用来自后端的数据替换默认值。
这在第一次通过时就可以正常工作...但是只要我更改上下文,即单击列表中的另一个项目,就好像默认模型已更新一样! 现在,默认模型包含最后一个上下文中的值,而不是默认值。
如何防止此默认模型被更新,即使其只读?
谢谢!
如果没什么大不了的话,只需在开头复制一个副本
字符串化然后解析
。
一份数据。
嗨,
您可以做的是在.json文件中添加"默认"和"当前"属性。
例如 而不是写入.json文件:
写:
在绑定中,您必须更改路径,例如:" {dummy>/current/homepage}"而不是" {dummy>/homepage}"
在初始化期间,将数据从默认复制到当前:
然后,当您需要将默认值与从后端检索的值合并时:
这样,/default/homepage保持为" www.sap.com ", 仅将"/img/current/homepage"更新为" www.belgium.be "。 >
一周热门 更多>