曹旭辉 发表于 2024-8-17 06:35:51

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]
查看完整版本: 88.SAPUI5 Model Binding的问题-在view更改数据,model却不变