关于sap:SAP-UI5-BaseObjectextend-方法的单步调试

4次阅读

共计 1272 个字符,预计需要花费 4 分钟才能阅读完成。

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

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

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

第一个传入的参数为 className:

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

调用 ObjectPath:

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

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

返回值:

给这个 mock 对象注入一个 SAP UI5 规范 Service:

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

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

托管属性示意 ManagedObject 的状态。它们能够存储简略数据类型(如 字符串 整数)的单个值。它们具备名称(例如size)和获取以后值(getSize)或设置新值(setSize)的办法。

正文完
 0