教程索引-我如何自学以下主题第1部分–UI5模块延迟加载机制第2部分-控件渲染器第3部分–Html本机事件与UI5语义事件第4部分-控制元数据第5部分–控制实例数据–setXXX和getXXX是如何实现的第6部分-引擎盖下的控制数据绑定第7部分-不同绑定模式的实现:单向、双向、一次性第8部分-控制ID第9部分-控制国际化支持Part10–XML视图中的按钮控件第11部分-本博客此博客的内容简单的应用程序设置按钮控件的生命周期及其底层DOM使用底层DOM
第1部分–UI5模块延迟加载机制
第2部分–控件呈现器
第3部分–Html本机事件与UI5语义事件
第4部分–控件元数据
第5部分–控件实例数据–如何实现setXXX和getXXX
第6部分–引擎盖下的控件数据绑定
第7部分-不同绑定方式的实现:单向、双向、一次性
第8部分–控件ID
第9部分–控件国际化支持
第10部分–XML视图中的按钮控件
第11部分–本博客
本教程第5部分,商城建站系统,大淘客网,我们使用下面的代码来执行delayedCall:oButton1的函数setText预计将使用参数"Jerry"进行调用,延迟2秒。这2秒钟的目的是确保在UI中呈现按钮实例后调用setText。(使用我们在第2部分中了解到的内容,我们使用这个2秒的延迟来确保setText()调用发生在按钮呈现器的render()函数被调用之后)。
在产品代码中,使用这个硬代码延迟是毫无意义的。我再次为我们这个博客的目标准备了一个最简单的应用程序:研究按钮控件及其底层DOM.
简单应用程序设置
这个简单应用程序有以下结构:
-按钮控件
|-视图
|-简单控制器.js
|- simple.view.xml
— 索引.html
项目内容简单控制器.js:
内容simple.view.xml:
内容索引.html:
按钮控件的生命周期及其底层DOM
的源代码简单控制器.js,我已经使用调试器语句在那里设置了三个断点。请同时设置第2部分中介绍的按钮渲染器的渲染功能。然后通过调试,触发四次断点,顺序为:
onInit()->onBeforeRendering()->render()->onAfterRendering()
UI5控件的DOM由按钮渲染器的render函数生成,只在onAfterRendering中可用,如下所示:
我们可以通过使用底层DOM来实现
我最喜欢的探索如何使用一些API的方法是检查UI5框架的功能。通过关键字"getDomRef"进行搜索,只需检查另一个控件sap.m.Button的点击即可
这里,大数据的趋势,大数据开发平台,我们知道这个控件的setText是通过将文本值填充到DOM节点的属性innerHTML中来实现的
所以我们可以做类似的事情。例如,您可以更改按钮控件的文本颜色和背景颜色,好评返现,但是找不到任何setter函数,如setColor或setBackgroundColor。幸运的是我们可以按照sap.m.Button控件的setText实现的思路:
将onAfterRendering()函数的源代码修改如下:
这里可以找到sapUiAccent2和sapUiErrorBG的细节颜色