修改模型中数据的建议方法是什么,而不必在之后再将新模型设置到视图中?
我有一个函数,我需要在客户端计算一些东西并在我的模型中更改它:
var parsedJSON = $.parseJSON(this.getView().getModel().getJSON());
$.each(parsedJSON['UserData']['clockHistory'], function(idx, obj) {
// do some stuff to clockHistory
});
this.getView().getModel().setProperty("/UserData/clockHistory", clockHistory);
getModel()。getJSON()只返回一个JSON字符串,但不返回可以在javascript中使用的JSON对象。
答案 0 :(得分:5)
JSON
的{{1}}个对象,请致电JSONModel
this.getView().getModel().getData()
答案 1 :(得分:2)
如果您使用oModel.refresh()
从模型中获取所需的值,您甚至可以跳过this.getView().getModel.getProperty("/UserData/clockHistory/")
部分。
getProperty()将返回一个对象。对象是通过引用创建的。因此,对新对象的任何更改都将更新模型:
var object = yourModel.getProperty("/PATH/TO/PROPERTY");
object = "new Value"; //this will update the model as well!
如果您正在使用数据绑定到控件,UI5将通知控件有关更改。