当前位置 : 主页 > 网络编程 > PHP >

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

来源:互联网 收集:自由互联 发布时间:2023-10-08
应用程序里的代码如下图所示: var UShellCrossApplicationNavigationMock = BaseObject . extend ( "sap.ui5.walkthrough.shellMock.UShellCrossApplicationNavigationMock" , {}); 这个 extend 方法实现在 fnClass 上,fnClass 位于


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

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

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

SAP UI5 BaseObject.extend 方法的单步调试_思爱普

第一个传入的参数为 className:

SAP UI5 BaseObject.extend 方法的单步调试_前端_02

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

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

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

调用 ObjectPath:

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

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);

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

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

返回值:

SAP UI5 BaseObject.extend 方法的单步调试_思爱普_07

SAP UI5 BaseObject.extend 方法的单步调试_思爱普_08

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

SAP UI5 BaseObject.extend 方法的单步调试_思爱普_09

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

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

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


网友评论