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
两种情况下byId的实现都是从core instance里的一个array类型的attribute mElements里根据id取对应的entry
在GM6上,处理是在一个单独的js 文件Core-dbg.js里处理的:
而local run的时候,core instance的byId方法是写在sap-ui-core.js里并执行的:
在GM6上,core的instance里具有salesorganization这个entry,所以正常工作,而local run的时候没有,所以报undefine错误。
我们在GM6上run的时候,require sap.ui.core.Core会异步加载core.js.
但是local run时,index.html里写死了加载sap-ui-core.js, 所以会造成这个差异。
但是我记得我之前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的控件)
但是runtime时,我们的代码写的是取id为salesOrganization,因此返回undefine。下面是我local run的,我再到GM6上去run。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":