SAP UI5-JSONModel的使用
阅读原文时间:2021年04月20日阅读:1

应用场景

JSONModel是应用于控制器和显示器之间数据交互的一个数据模型。
所以,关于JSONModel在实际工作中的常见用法,无非就是两种:

  1. 添加或得到JSON数据源
  2. 控制某一属性的值,利用JSONModel的方式进行逻辑赋值

用法

sap.ui.model.json.JSONModel

LoadData 加载数据
setData 添加JSON数据源
setDefaultBindMode 绑定模式
getData 得到JSON数据
getJSON 将JSON对象转化字符串
setProperty 设置数据节点
getProperty 得到数据节点
getProperty 得到数据节点

笔者写了一个DEMO,会用到上面大部分的方法,具体的源代码可以点击here下载

overview

① 初始化的界面四个输入框都为不可编辑状态,且输入框的数据是由我们通过controller层添加的json数据。
②点击ADD按钮,②处会显示字样”i am a new create!”

③点击编辑按钮,所有的输入框更换为可编辑状态,Edit按钮切换为Save按钮和Cancel按钮。

Code Realize

projectName/webapp/view

我们放置了四个input用于接收数据。

input是否可以输入由EnabledModel控制
输入框的数据由UserMode控制
按钮之前的显示与隐藏由changeBtn控制

projectName/webapp/controller

我们初始化函数里把view层用于控制的三个model声明在这里,为了方便查看,笔者分开写了三个函数用于区分。

①处是具体声明一个JSONModel的方法
第一个可读性较高
第二个相对会比较简洁,占用少内存

这里要说onAdd方法中使用的setProperty方法,①处代码是新建了一个节点newCreate

如果我们console下UserModel,就会发现newCreate节点是与Name,Sex,skill平级的。

所以我们在把这条数据绑定到view上时,要写成:

<Input id="input-d" enabled="{EnabledModel>/enabled}" value="{UserModel>/newCreate/add}"/>

源码下载:https://github.com/WillXusd/JSONModelDemo

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章