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 知之甚少的初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。

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

本教程的前两篇文章,我们的 SAP UI5 应用界面里显示的 Hello World,一直都是通过 div 标签实现的。

本文作为这个教程的第三个步骤,我们会真正开始接触 SAP UI5 提供的控件之一:Text.

本步骤使用的源代码在下面这个链接处下载:

https://github.com/wangzixi-diablo/ui5-tutorial

同本教程的前一步骤相比,本步骤的 index.html 和 index.js 文件都增添了一些新的内容。

首先看这个步骤完成后的效果。

浏览器打开 index.html, 能看到 Hello world 的字符串,同时鼠标放上去,能看到一个 tooltip:

下面是具体的修改细节。

index.html

步骤1和2里,我们都使用 body 标签里的 div 标签,来显示 Hello world.

但是本步骤里,大家看,body 标签里包含的 div 标签内容是空的。同时,该 div 标签多了一个 id 属性,内容为 content. 并且有一个 CSS class,名为 sapUiBody. 这个 class 是 SAP UI5 标准的 CSS 库提供的,稍后我们会查看这个 class 实现了什么样的视觉效果。

这个 id 为 content 的 div 标签,我们又称其为占位符 place holder,稍后我们创建的第一个 SAP UI5 控件,即 Text 控件,会放置在这个占位符里。也就是说,这个占位符 div 标签,扮演的是一个容器的角色,容纳其他通过 JavaScript 代码在运行时创建的 SAP UI5 控件。

这里的 id 值 content,可以任意起,只需要和下面即将介绍的 index.js 里调用的 placeAt 方法里传入的 id 保持一致即可。

index.js

这段代码有4处关键点,如下图标注所示:

sap.ui.define 方法

因为我们在本步骤需要使用到 SAP UI5 提供的 Text 控件,该控件位于命名空间 sap.m 内,故需要先使用 sap.ui.define 方法,加载 sap.m.Text 控件的实现。

sap.ui.define 方法接收两个参数,第一个参数的类型是数组,里面存放需要加载的 SAP UI5 库的 url 集合,本例为 sap/m/Text.

第二个参数是一个回调函数,当 sap.ui.define 成功加载所需的库文件之后,会自动调用这个回调函数,并将加载成功的库文件的实现,作为输入参数,传递给回调函数。在我们这个例子里,回调函数即代码第三行指定的 function 函数,输入参数 Text,即是 sap.ui.define 成功加载 sap.m.Text 库之后传递给回调函数的参数。

关于其他关键点的详细介绍,请参考我的文章:SAP UI5 初学者教程之三:开始接触第一个 SAP UI5 控件

SAP UI5 初学者教程之三:开始接触第一个 SAP UI5 控件 试读版相关推荐

  1. SAP UI5 初学者教程之十五 - 对话框和 Fragments 的使用方式试读版

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

  2. SAP UI5 应用开发教程之三十二 - 如何创建一个自定义 SAP UI5 控件试读版

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

  3. SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件试读版

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

  4. SAP UI5 初学者教程之九 - 创建第一个 Component 的试读版

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

  5. 使用自开发的代理服务器解决 SAP UI5 FileUploader 上传文件时遇到的跨域访问错误试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...

  6. 一键部署开箱即用的代理服务器,解决 SAP UI5 应用开发过程中访问远端 OData 服务的跨域问题试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...

  7. 如何在 SAP UI5 应用里显示 PDF 文件试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年12月23日为止,目前已经更新了 155 篇,专栏完成度为 51.6%,完成度已经超过了一半了. ...

  8. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%. 作者简介 Jerry ...

  9. SAP UI5 初学者教程之十九 - SAP UI5 数据类型和复杂的数据绑定

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

最新文章

  1. cesium加载百度地图_四大Webgis地图框架的对比选择
  2. 无需SherlockActionbar的SlidingMenu使用详解(一)——通过SlidingMenu设置容器并解决滑动卡顿的问题
  3. Mysql基础运维及复制架构——PRIT非完整恢复
  4. c语言1+2+3+4+5_C程序来计算系列1+(1 + 2)+(1 + 2 + 3)+(1 + 2 + 3 + 4)+ ... +(1 + 2 + 3 + ... + n)...
  5. 腾讯开源智能运维项目,用机器学习减少人为失误
  6. peterson算法p0流程图_Dekker算法与Peterson算法
  7. go任务调度2(linux的cron调用)
  8. 使用Nodejs 批量下载文件, 甘特图 gantt-schedule-timeline-calendar 免费
  9. Word:文档中如何批量删除参考文献的引文格式[1]、[2]...
  10. 追梦App系列博客——需求分析报告
  11. 关于BigDecimal.ROUND_HALF_EVEN银行家算法
  12. Python从图片提取文字
  13. 通信原理SNR EbN0 EsN0理解
  14. 并行接口8255芯片
  15. ps 利用马赛克滤镜制作方格背景
  16. 【贪心】加工生产调度【经典】
  17. jmeter之取样器(HTTP请求、调试取样器)
  18. MRI脑影像分析——根据脑图谱获取感兴趣区域mask,以海马体与丘脑为例(matlab+nilearn+nibabel+REST1.8)
  19. java 简单万年历_Java_万年历(简单)
  20. 硬件比软件难,那为什么硬件工程师待遇还不如软件?

热门文章

  1. java定时任务的两种实现方式
  2. textarea 输入框限制字数
  3. [置顶]C#执行Excel宏模版的方法
  4. Service Mesh服务网格:是什么和为什么
  5. 查看ecshop广告位对应的广告详细信息
  6. 在ExtJS的ComboBox组件中实现下拉树效果
  7. 1.22-科技信息检索主要来源
  8. Vue简单封装axios—解决post请求后端接收不到参数问题
  9. zabbix监控远端主机
  10. Lua的require机制