88.SAPUI5 Model Binding的问题-在view更改数据,model却不变
目次1.配景
2.sap.ui.model.BindingMode
sap.ui.model.BindingMode.OneWay
sap.ui.model.BindingMode.TwoWay
3.oModel.setDefaultBindingMode
方法阐明
execOneWay方法
execTwoWay方法
1.配景
在做一个UI5项目,背景读取sap.ui.model.Model后,把数据绑定到view的table里,在table更改数据,背景取sap.ui.model.Model后,数据没有改变,仍然保持当初从背景读取过来的值。
我们研究了好长时间,没找到症结。
背景同事问了一句,是不是和绑定模式有关。进而调查到model的最初绑定的代码段,果然发现绑定的是OneWay模式,更改后TwoWay后,问题得到解决。
2.sap.ui.model.BindingMode
所以,又重新查了下绑定模式,官网阐明如下:
https://i-blog.csdnimg.cn/direct/ea8f7b712ad74358b29f6c93d1255cc8.png
sap.ui.model.BindingMode.OneWay
BindingMode one way means from model to view.
BindingMode单向表现从模型到视图。
sap.ui.model.BindingMode.TwoWay
BindingMode two way means from model to view and vice versa.
BindingMode双向意味着从模型到视图,反之亦然。
3.oModel.setDefaultBindingMode
方法阐明
https://i-blog.csdnimg.cn/direct/4e948b61094e432b99cc52837ea61923.png
execOneWay方法
execOneWay: function(oUrl, data, contentType) {
if (contentType === undefined)
{
contentType = "json";
}
var oModel = this._getModel(contentType);
oModel.forceNoCache(true);
oModel.setSizeLimit(9999999);
oModel.setDefaultBindingMode(sap.ui.model.BindingMode.OneWay);
oModel.loadData(oUrl, data, false);
return oModel;
},
execTwoWay方法
execTwoWay: function(oUrl, data, contentType) {
if (contentType === undefined)
{
contentType = "json";
}
var oModel = this._getModel(contentType);
oModel.forceNoCache(true);
oModel.setSizeLimit(9999999);
oModel.setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay);
oModel.loadData(oUrl, data, false);
return oModel;
},
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]