Sapui5 JSONModel仅更改一个元素

Sapui5 JSONModel仅更改一个元素,sapui5,Sapui5,是否可以只更改JSONModel中的一个元素,并让绑定控件只重新加载该特定元素 例如: [ { "name": "John Smith", "address": "1111 fake street" }, { "name": "Jane Smith", "address": "2222 fake street" } ] 假设我想更改Jane Smith的地址,我将使用JSONModel.SetData()将更新对象设置到JSONModel中。完成

是否可以只更改JSONModel中的一个元素,并让绑定控件只重新加载该特定元素

例如:

[
  {
    "name": "John Smith",
    "address": "1111 fake street"
  },
  {
    "name": "Jane Smith",
    "address": "2222 fake street"
  }
]
假设我想更改Jane Smith的地址,我将使用
JSONModel.SetData()
将更新对象设置到JSONModel中。完成此操作后,整个绑定控件将重新加载自身。对于这样一个小的对象来说,这是很好的,但是如果我有一个包含100个元素的对象,并且我将它加载到手机上,那么它会非常慢

那么,如何只重新加载控件的特定部分而不重新加载整个控件呢


谢谢

JSONModel提供了一种方法setProperty,可用于设置特定属性的值。设置值后,JSONModel将自动检查其绑定是否有更改。你无法避免

在您的情况下,它看起来像:

model.setProperty("/1/address", "13th Elm Street");
我不确定这个示例是否显示了如何在模型中存储数据。一般来说,建议使用命名属性来允许XML视图中的去极化数据绑定。例如:

{ "persons" : [ {
    "name": "John Smith",
    "address": "1111 fake street"
  }, 
  {
    "name": "Jane Smith",
    "address": "2222 fake street"
  } ]
}
然后将地址设置为:

model.setProperty("/persons/1/address", "13th Elm Street");

JSONModel提供了一个方法setProperty,可用于设置特定属性的值。设置值后,JSONModel将自动检查其绑定是否有更改。你无法避免

在您的情况下,它看起来像:

model.setProperty("/1/address", "13th Elm Street");
我不确定这个示例是否显示了如何在模型中存储数据。一般来说,建议使用命名属性来允许XML视图中的去极化数据绑定。例如:

{ "persons" : [ {
    "name": "John Smith",
    "address": "1111 fake street"
  }, 
  {
    "name": "Jane Smith",
    "address": "2222 fake street"
  } ]
}
然后将地址设置为:

model.setProperty("/persons/1/address", "13th Elm Street");