SAP UI5 BaseObject.extend 方法的单步调试

简介: SAP UI5 BaseObject.extend 方法的单步调试

应用程序里的代码如下图所示:


var UShellCrossApplicationNavigationMock = BaseObject.extend("sap.ui5.walkthrough.shellMock.UShellCrossApplicationNavigationMock", {});


这个 extend 方法实现在 fnClass 上,fnClass 位于 Metadata.js 上:

b00a906c9334cb10f39fd5f634faf728.png

第一个传入的参数为 className:

9678e71e55f41bc5ea52eda460f7f429.png

我们传了一个空的对象到第二个参数里:

f41f1b213c46ae8f2389884b6c260a90.png

e9a3c021413b47fdd64ab32e8fb30f32.png

调用 ObjectPath:

f41f1b213c46ae8f2389884b6c260a90.png

ObjectPath 用于管理对象路径。


可以使用 create 创建对象路径,然后将从提供的字符串创建一个空的嵌套对象路径。 如果为对象路径 set 设置了一个值,如果它不存在,它也会被创建。可以使用 get 从对象路径中检索值。


create 方法从提供的根上下文中提供的路径创建对象路径。


提供的路径用于导航嵌套对象,从根上下文开始。


看个具体的例子:


var root = {};
ObjectPath.create("my.test.module", root) === root.my.test.module;
ObjectPath.set(["my", "test", "otherModule"], root) === root.my.test.otherModule;


get 方法:


返回位于提供的路径中的值。 如果提供的路径无法完全解析,则返回 undefined。


提供的对象路径用于导航嵌套对象,从根上下文开始。 如果没有提供根上下文,则对象路径以 window 开头。


看个具体的例子:


ObjectPath.get("my.test.module", root) === root.my.test.module
ObjectPath.get(["my", "test", "otherModule"], root) === root.my.test.otherModule
ObjectPath.get("globalVar") === window["globalVar"];


set 方法:


设置位于提供的路径中的值。


提供的路径用于导航嵌套对象,从根上下文开始。


注意:确保对象路径存在。


例子:


var root = {};
ObjectPath.set("my.test.module", "propertyValue", root);
ObjectPath.set(["my", "test", "otherModule"], "otherPropertyValue", root);


之后就构造了一个全局对象了:

518825a9579c1a9f0b8048891fe63fd7.png

返回值:

d1c772256bf1ecb432eb4faa4b84d361.png

a762a049c3f86b64af0b9b0f9e053dbc.png

给这个 mock 对象注入一个 SAP UI5 标准 Service:

f41f1b213c46ae8f2389884b6c260a90.png

sap.ui.base.ManagedObject 介绍一些基本概念的基类,例如状态管理和数据绑定。


ManagedObject 的新子类是通过调用 ManagedObject.extend 创建的。


托管属性表示 ManagedObject 的状态。 它们可以存储简单数据类型(如 字符串或整数)的单个值。 它们具有名称(例如size)和获取当前值(getSize)或设置新值(setSize)的方法。


目录
相关文章
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
5月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
5月前
|
搜索推荐
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
|
5月前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
|
5月前
|
Web App开发 JSON JavaScript
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
|
5月前
|
XML 数据处理 数据格式
什么是 SAP UI5 XML Templating 技术
什么是 SAP UI5 XML Templating 技术