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

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



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



两种情况下byId的实现都是从core instance里的一个array类型的attribute mElements里根据id取对应的entry

在GM6上,处理是在一个单独的js 文件Core-dbg.js里处理的:


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


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


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

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


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


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


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

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

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


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

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

From: Wang, Jerry

Sent: Thursday, December 04, 2014 11:36 AM

To: Dai, Derry

Subject: RE:code


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


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

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

上一篇:MySQL慢查询分析方法


下一篇:应对大数据时代需求推进数据中心智能化