SAP UI5 进阶 - JSON 模型字段里的值,显示在最终 UI5 界面上的奥秘分析试读版

简介: SAP UI5 进阶 - JSON 模型字段里的值,显示在最终 UI5 界面上的奥秘分析试读版

一套适合SAP UI5 初学者循序渐进的学习教程

 

作者简介

 

Jerry Wang2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。

 

Jerry 工作中使用ABAP, Java, JavaScript TypeScript 进行开发, 对包括 SAP UI5 在内的多款SAP自研框架有深入的研究。

 

教程目录

 

 


说明

 

Jerry 2014年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和汪子熙微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。

 

Jerry 这篇文章 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好? 曾经提到,Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 不同水平的学习者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。

 

这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求做到深入浅出,重要的知识点都配上详细的截图来辅助文字的介绍,便于教程学习者的理解。

 

本教程每一个步骤的源代码,都存放在我的 Github 上,分别用文件夹 01,02,03 等等来标识,例如步骤 1 的源代码在这里



每一个步骤均是前一步骤的基础上,添加了若干新特性。建议零基础或者对 SAP UI5 知之甚少的 SAP UI5 初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。


对于已经有一定基础的 SAP UI5 开发人员,可以通过本文的目录,跳过前面一部分比较基础的章节,直接挑选对自己工作项目有关,或者包含某些知识点自己尚未掌握的章节来有针对性地学习。


大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。我虽然平时开发工作很忙,但是保证会定期查看大家给我留下的评论,对于里面涉及到的技术疑问,我一定会抽时间做出解答。


从本教程第 7 个步骤开始,我们由浅入深的介绍了 SAP UI5 的数据绑定概念和使用:


SAP UI5 应用开发教程之七 - JSON 模型初探


SAP UI5 应用开发教程之十七 - 聚合绑定在 UI5 复合控件中的使用


SAP UI5 应用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及绝对绑定和相对绑定概念详解


SAP UI5 应用开发教程之十九 - SAP UI5 数据类型和复杂的数据绑定


SAP UI5 应用开发教程之二十 - SAP UI5 的表达式绑定用法讲解


进入本教程的 126 目录,打开 App.view.xml, 看到 Input 控件绑定到 JSON 模型的字段名称为 /recipient/name:



运行 ui5 serve,然后打开 url:

http://localhost:8080/webapp/index.html,看到如下的界面:



其中 UI5 标签页里,能看到这个 Input 控件的绑定信息,如下图所示:




/recipient/name 是我们在 App.controller.js 里定义的一个 JSON 对象的字段(下图第 9 行代码所示),其值为 Hello World,这个值最后显示在了 UI 界面上 Input 字段上。





那么问题来了,这个 JSON 对象的字段值,最后怎么就传递到 UI 控件去了呢?朋友们一定会马上回答,通过 SAP UI5 数据绑定!第 13 行创建了一个 JSONModel 实例,其数据源就是包含 name 字段的 JSON 对象。我们在代码第 14 行把这个模型实例,通过 setModel 设置到整个视图上,那么视图里的 Input 控件,通过 数据绑定的机制,就能显示出 JSONModel 里对应 name 字段的值。


以上的回答其实只描述了 SAP UI5 数据绑定的行为,而没有阐述其工作原理。


本文余下的部分,就为大家揭秘 SAP UI5 数据绑定的幕后工作机制。


总结


从我们在 XML 视图里书写了这行代码 <Input id="myinput" value="{/recipient/name}"/>,到最后打开浏览器看到了 Input 元素显示出 Hello World,背后经历了这些事情:


(1) XML 视图的 App.view.xml 文件被加载,解析,Input 的 value 属性的绑定路径被解析。


(2) App.controller.js 内的 JSONModel.setModel 方法调用,根据前一步骤解析出的绑定路径,将 JSONModel 里的 recipient 对象的 name 字段值 Hello World 读取出来,存储到 Input 控件实例的 mProperties 数据结构里。


(3) 在 Input 控件的渲染器对应的方法里,从 Input 控件实例的 mProperties 里取出 Hello World,调用 HTML 原生标签 input 的 setAttribute 方法,将其渲染到最终的页面上。



相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
1月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
31 0
|
1月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
21 0
|
1月前
|
搜索推荐
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
18 0
|
1月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
20 0
|
2月前
|
Web App开发 JSON JavaScript
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
25 0
|
2月前
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
97 2
|
23天前
|
数据库
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
SAP CRM产品主数据无法根据产品描述字段进行搜索的原因
17 5
|
23天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
23天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版