SAP UI5在本地运行和部署到服务器后运行的差异

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/i042416/article/details/88060968

Sent: Thursday, December 4, 2014 1:06 PM

Subject: local run和GM6上run 框架的处理不一样

发现一个问题。同样一行代码:this.getView().byId(“salesOrganization”)

Local 和GM6都是通过delegate到sap.ui.getCore()返回的instance的方法byId去根据id拿control

clipboard1

clipboard2

两种情况下byId的实现都是从core instance里的一个array类型的attribute mElements里根据id取对应的entry
在GM6上,处理是在一个单独的js 文件Core-dbg.js里处理的:

clipboard3

而local run的时候,core instance的byId方法是写在sap-ui-core.js里并执行的:
clipboard4

在GM6上,core的instance里具有salesorganization这个entry,所以正常工作,而local run的时候没有,所以报undefine错误。

clipboard5

我们在GM6上run的时候,require sap.ui.core.Core会异步加载core.js.
clipboard6

但是local run时,index.html里写死了加载sap-ui-core.js, 所以会造成这个差异。
clipboard7

但是我记得我之前local run的时候,点Create button也不会报错啊。。。。。

From: Wang, Jerry
Sent: Thursday, December 04, 2014 11:36 AM
To: Dai, Derry
Subject: RE:code

S5.view里只有这三个控件:(没有id为salesorganization的控件)

clipboard8

但是runtime时,我们的代码写的是取id为salesOrganization,因此返回undefine。下面是我local run的,我再到GM6上去run。
clipboard9

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

猜你喜欢

转载自blog.csdn.net/i042416/article/details/88060968