云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式数据库_手机cdn服务器连接异常_排行榜

小七 141 0

分布式数据库_手机cdn服务器连接异常_排行榜

问题:如何才能找到UI5发挥作用的代码的确切位置?

我们知道当我们创建一个新的UI5控件实例时,人工智能关键技术,1元云购,我们可以显式地将一个id传递给构造函数。在这种情况下,大数据分析软件有哪些,开发人员负责确保id是唯一的。

我们可以在呈现的页面中找到唯一的id。

另一种方法是我们不传递任何id,而是让UI5框架自动生成一个。

上面的代码将生成一个id为"\u button0"的按钮。

由于我不知道应该从哪里开始调试,我甚至不知道应该从哪个js文件开始,

因此,我打算手动给UI5框架带来一些麻烦,这样它就可以在Chrome开发工具控制台上发出一些抱怨消息,给我一些想法。所以我写了下面的代码。我假设第11行会由于控件id重复而导致一些错误。

当我刷新应用程序时,大数据好不好,在控制台中看到预期的错误消息。单击callstack中的第三帧:核心.注册表项查看其源代码:

下面我们可以了解UI5框架逻辑如何检测重复控件id:

1。有一个中央存储库来存储所有已注册的控件实例。看到了吗这是我的梦想第40711行

2。在第40700行中,使用要注册的新控件的id扫描中央存储库。如果byId返回1,则表示已经存在具有相同id的控件。检测到重复!

到目前为止我们还不知道id是在哪里生成的。类型oElement.getId文件并打印出该函数的源代码。然后我们知道对于每个控件实例,服务器云,它都有一个属性sId来存储它的ID.

在同一个JS文件中执行关键字搜索,其中registerement用关键字".sId"实现,只找到11个匹配项。

然后我们找到一个构造函数,它看起来就像我正在寻找的一样。在第29062行和第29064行之间实现自动ID生成逻辑(如果未明确指定)。设置断点验证我们的猜测。

在控制器中编写以下代码:

在运行时断点被触发。

ID片段"button",来自此.getName()在33711行。

UI5框架内部维护一个计数器作为每个控件id的后缀。

这就是为什么在每个UI5应用程序中都可以看到大量数字后缀的原因: