当前位置: 首页 > news >正文

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

        所以,又重新查了下绑定模式,官网说明如下:

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

方法说明

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;
	},

相关文章:

  • SpringBoot配置--Profile
  • RabbitMQ 集群部署方案
  • 精彩回顾 | 风丘科技亮相2024名古屋汽车工程博览会
  • Python爬虫——爬取某网站的视频
  • 2024年高教社杯数学建模国赛A题思路解析+代码+论文
  • 开源数据库同步工具monstache
  • Hbase图形化界面
  • 2024-08-16升级记录:使用Android RecyclerView控件显示列表型信息
  • nc的多种使用场景和各种反向shell方法
  • 类加载与双亲委派
  • 安卓平板电脑定制方案_MTK联发科智能终端方案开发
  • 【数据结构】-----红黑树
  • 搭建高可用OpenStack(Queen版)集群(九)之部署nova计算节点
  • Service服务在Android中的使用
  • Go语言基础--数据类型(整型、字符型)
  • 升级软文发稿开源系统源码论文期刊一键发布
  • Python环境安装及PIP安装(Mac OS版)
  • 【初阶数据结构】通讯录项目(可用作课程设计)
  • PHP多项目多场景排队叫号系统源码
  • [000-01-030].Zookeeper学习大纲
  • 俄乌交换205名被俘人员,俄方人员已抵达白俄罗斯
  • 德国联邦议院6日下午将举行总理选举第二轮投票
  • “五一”假期全社会跨区域人员流动量超14.65亿人次
  • 金沙记忆|元谋龙街渡:是起点也是终点
  • 洗衣机无法有效杀菌
  • 贵州召开全省安全生产电视电话会议:以最严要求最实举措守牢安全底线