SAP UI5 ManagedObject 的 Event 讲解以及 SAP UI5 XML 视图里控件 press 的解析逻辑

简介: SAP UI5 ManagedObject 的 Event 讲解以及 SAP UI5 XML 视图里控件 press 的解析逻辑

托管事件提供了一种将重要状态更改传达给任意数量的 感兴趣的 侦听器的方法。 事件有一个名称和(可选)一组参数。 对于每个事件,都会有添加或删除事件侦听器的方法以及触发事件的方法。


例如,名为“change”的事件的 attachChange、detachChange、fireChange.


如下图所示:



有关托管事件的声明、描述事件的元数据以及自动生成的用于访问它的方法集的详细信息,可以在扩展方法的文档中找到。


克隆 ManagedObject 时,为克隆源中的任何事件注册的所有侦听器也将注册到克隆。 以后的更改不会反映在任何方向(从源到克隆,反之亦然)。


ManagedObject 的原型提供了几个通用的低级 API 来管理属性、聚合、关联和事件。 这些泛型方法仅用于实现管理单个托管属性等的更高级别的非泛型方法(例如,为属性“大小”设置新值的函数 setSize(value))。 sap.ui.base.ManagedObject.extend 为所有托管方面创建那些更高级别 API 的默认实现。 然后子类的实现可以用更具体的实现覆盖那些默认实现,例如 在设置或检索特定属性时实现副作用。 因此,重要的是要了解通用的低级方法不适合对托管对象的状态进行通用访问,因为这会绕过覆盖的高级方法及其副作用。


SAP UI5 控件 Events 的一个例子:




托管对象一些常用的 event


formatError:当应该从模型传播绑定属性的新值,但格式化该值失败并出现异常时触发。此事件使控制层次结构冒泡。


modelContextChange:在此对象上更改模型或上下文时触发,例如通过调用 setModel/setBindingContext 或通过传播(propagation)触发。



SAP UI5 XML 视图里控件 press 绑定的事件函数名称是如何被解析的


能够顺利解析出来:



首先创建一个 view 控件:



然后创建一个 button 实例:




从 metadata 里获取 button 应该具有的所有属性:



我就想知道这个 press 属性的赋值逻辑是什么时候发生的?



这个特殊的函数名称比较有用:




有用的调用栈:




逐一变量 XML 视图里每个节点的属性:




只有 text 和 press 两个属性:



knownSettings 里将 press 属性的类型定义为 5,意思是 event:




event handler resolver 是一个单独的文件:EventHandlerResolver.js




关于从 XML 视图里提取事件处理函数的上下文(context)处理


a.onXX 如何解析?





Configuration.getControllerCodeDeactivated 是什么鬼?



什么是 Design mode?





解析引用:




上下文就是控制器:




采用 . 作为字段名称,包含本地 controller 引用。



默认从 windows 全局对象读取:




直接从 window 全局对象里提取:



index.js 的执行时间点,晚于 XML view 的解析:






相关文章
|
1月前
|
API
在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
【2月更文挑战第28天】 在阿里云RPA中,你可以使用"SetForegroundWindow"函数来将SAP控件置顶
41 1
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
38 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
23 0
|
1月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
44 0
|
1月前
|
存储 数据管理 数据处理
SAP CRM 里 Attachment 搜索的实现逻辑介绍
SAP CRM 里 Attachment 搜索的实现逻辑介绍
27 0
|
1月前
|
BI 数据库
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
SAP ABAP ALV 报表单击某列后执行某段 ABAP 逻辑的实现方式 - hotspot 行为实现试读版
59 0
|
1月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
23 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
35 0
|
1月前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
62 0
|
1月前
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
SAP UI5 应用如何实现类似百度首页一样的访问方式试读版
41 0

推荐镜像

更多