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

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

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

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

大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。

本教程的前三个步骤,我们要么直接在 index.html 里,利用原生的标签 div 显示文本,要么创建 SAP UI5 Text 控件实例,再将其放置于 HTML 占位符 div 标签里。

从本步骤开始,我们会接触 SAP UI5 非常重要的概念:XML 视图,这个概念也是 SAP UI5 MVC 三大支柱之一:View 即视图层。

本步骤的代码:

https://github.com/wangzixi-diablo/ui5-tutorial/tree/main/04

同前一步骤相比,本步骤的 index.html 没有任何修改。

在 SAP UI5 框架完成初始化之后,执行通过 data-sap-ui-oninit 指定的我们自定义的 module,即位于 webapp 文件夹下面的 index.js 实现的同名 module.

在本教程第三步骤 SAP UI5 初学者教程之三:开始接触第一个 SAP UI5 控件里,我们在 index 模块里,新建了一个 Text 控件实例,并将其放置到 id 为 content 的占位符 div 标签里。

本步骤我们更进一步,新建一个 XML 视图实例,将该视图实例放置到占位符 div 标签页里。

index.js 代码如下:

代码的四处关键点

(1) XMLView.create:该方法创建一个视图实例

(2) create 方法需要一个输入参数,该输入参数需要包含待创建的 xml 视图的名称和路径。

注意:代码第6行 viewName 的值,其中 sap.ui5.walkthrough 代表命名空间,view 代表我们 webapp 文件夹下的同名文件夹 view,而 App,对应了 view 文件夹里的 App.view.xml. 也就是说,命名空间后面的 view.App, 必须要和 SAP UI5 工程里对应的文件夹和视图文件名称匹配,否则运行时会报错。

(3) XMLView.create 的创建,并不会像步骤三创建一个简单的 Text 控件一样,调用 new Text 之后会立即返回创建好的控件实例,而是一个异步执行过程。

XMLView.create 返回的是一个 Promise 对象,待 XML 视图实例真正创建完毕之后,这个 Promise 对象的then 方法里传进去的回调函数会被执行。该回调函数的输入参数,即上图第7行的 oView,正是创建成功的 XML 视图实例。

(4) 调用 XML 视图实例的 placeAt 方法,将 XML 视图放到 id 为 content 的占位符 div 标签里。

下面我们再来看 App.view.xml 里的内容。

这个代码有上图标注的四处关键点。

关于这些关键点的详细介绍,请参考我的文章:SAP UI5 初学者教程之四:XML 视图初探

SAP UI5 初学者教程之四:XML 视图初探试读版相关推荐

  1. SAP UI5 初学者教程之七 - JSON 模型初探试读版

    Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...

  2. SAP UI5 初学者教程之一:Hello World 试读版

    Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...

  3. SAP UI5 初学者教程之五:视图控制器初探 试读版

    Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和"汪子熙"微信公众号上发表过多篇关于 SAP U ...

  4. SAP UI5 初学者教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  5. SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. SAP UI5 初学者教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter) 试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  7. SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel 试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  8. SAP UI5 应用开发教程之四十八 - 如何在 SAP UI5 应用里开发条形码扫描功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  9. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. 判断图像质量的好坏(opencv)
  2. stm32c8t6的can通信实验代码_TCP的连接建立与关闭状态及数据传输通信过程【含有 PHP socket API 测试实验代码】...
  3. Kubernetes 会不会“杀死” DevOps?
  4. SQL Server数据归档的解决方案
  5. 分布式锁简单入门以及三种实现方式介绍(滴滴)
  6. iOS开发-自动隐藏键盘及状态栏
  7. SQL的各种使用方法
  8. 2020受欢迎的20个JavaScript 库
  9. 函数:MySQL中取整函数round和floor
  10. 六、软考·系统架构师——UML建模工具
  11. 【复习】物联网导论知识梳理
  12. 计算机1946考试试题,统考计算机考试试题及答案
  13. mac pro 2015 升级1T固态硬盘极简版本(三星970 evo plus)
  14. SEO优化技巧:如何提升流量,提高网站点击率
  15. MYSQL操作数据库-------查看、删除数据库
  16. 蓝桥杯: 调手表【BFS】【Python】
  17. 几何光学学习笔记(12)- 4.1平面镜成像
  18. 美景本天成,妙笔偶得之——“妙笔”是怎样炼成的?
  19. android 更改字体_如何在Android中更改字体
  20. 【爬虫】爬取我的CSDN中的信息

热门文章

  1. dom 生成图片和链接生成二维码
  2. org.xml.sax.SAXParseException: Content is not allowed in trailing section
  3. 2016/09/16面试资料汇总
  4. A*寻路算法所生成的路径
  5. 如何用js得到当前页面的url信息方法
  6. 企业私有云的建立—基于Ubuntu Enterprise Cloud(3)
  7. 在Python Shell中输入print 'hello'总是报语法错误
  8. 远程屏幕传输“差异截图”的问题。
  9. QT+FFMPEG实现视频播放
  10. 简单深搜(poj 3009)