我在index.html里写了下面这段代码:

      'var oButton1 = new sap.m.Button({text : "Button",tooltip : "This is a test tooltip",press : function() {alert('Alert from ' + oButton1.getText());}});oButton1.placeAt("content");'

但是在服务器上运行这个index.html,发现在正式模式下遇到下面这个错误消息:

“Uncaught TypeError: Cannot read property ‘Button’ of undefined”


但奇怪的是,在调试模式下是没问题的。

处理此类问题的经验是,一般此类涉及到在debug mode能工作(不能工作), 但是正常情况下不能工作(能工作)的issue,不管任何语言,都和runtime执行时序有关。

这个问题的root cause是,在new sap.m.Button时,sap.ui.core, sap.m还没有被load下来,执行new sap.m.Button这句就会报错,找不到。具体如下:

(1) 为什么非debug模式下,sap.ui.core和sap.m没有被load下来呢?

非debug模式下,会根据preload标识决定load是同步还是异步,这里设置的是async:


所以,在new sap.m.Button时,sap.ui.core, sap.m还没有被load下来。
如果preload被设置为 sync ,就会看到button被正常render。

(2) 为什么debug模式下,new sap.m.Button时,sap.ui.core和sap.m已经被load下来呢?
debug模式下,会使用requireModule load lib:

不会根据preload标识决定load是同步还是异步:

这个issue可以引申出另一个知识点,如果我就要求data-sap-ui-preload=“async”,有没有办法保证在非debug mode下,每次运行应用仍然成功呢?

另一个问题:这个bootstrap的id能改成其他比如"helloWorld"么?为什么?

因为已经Src已经满足满足预期的正则表达式,执行不到下面的分支了。

一些SAP UI5的控件无法按照预期渲染的错误分析方法和解决方案相关推荐

  1. SAP UI5 应用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  2. SAP UI5 应用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创建,编辑和保存功能

    本教程前几个步骤,我们已经用 SAP UI5 table 控件开发了一个包含 User 列表的应用,并且支持了根据 LastName 字段进行查询,以及排序的操作. SAP UI5 应用开发教程之六十 ...

  3. SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  4. SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能

    本教程的上一个步骤,我们学习了如何基于 OData V4 开发一个最简单的使用了 Table(表格)控件的 SAP UI5 应用. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 ...

  5. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  6. SAP UI5 应用开发教程之六十 - SAP UI5 地图控件的一些高级用法试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  7. SAP UI5 应用开发教程之五十六 - SAP UI5 树控件(tree)的开发试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  8. SAP UI5 初学者教程之十一 :SAP UI5 容器类控件 Page 和 Panel 试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  9. 基于 OData 模型和 JSON 模型的 SAP UI5 表格控件行项目的添加和删除实现

    这是 Jerry 2021 年的第 62 篇文章,也是汪子熙公众号总共第 339 篇原创文章. 龟虽寿曹操神龟虽寿,犹有竟时:腾蛇乘雾,终为土灰.老骥伏枥,志在千里:烈士暮年,壮心不已.盈缩之期,不但 ...

最新文章

  1. 第三章 用检验控件执行表单的验证
  2. Activity和ListActivity的区别
  3. 【NLP】NLP重铸篇之Fasttext
  4. IE9以及IE9以下,无法执行innerHTML这一操作的解决方法
  5. 【处理手记】Configuration system failed to initialize异常的另类原因
  6. JVM类加载机制_字节码执行引擎_Java内存模型
  7. 如何通过使用fiddler对安卓系统设备抓包总结
  8. Google ZXing系列讲解(二)——生成WIFi二维码
  9. filter java 意思_在JAVA中filter有什么作用?
  10. 软著注销流程 软件著作权撤销 操作流程
  11. 木瓜移动每日快讯0511:谷歌Chrome引入新隐私功能fenced frame
  12. python算法 之 猜词游戏
  13. 【MATLAB小游戏】养鱼
  14. Trunk技术需求与应用
  15. PatchMatch分析
  16. TableLayout表格布局详解
  17. xsd 和 wsdl
  18. 山药粥营养价值好处有哪些 山药粥的功效与作用
  19. C语言I博客作业04
  20. http的安装(编译安装)

热门文章

  1. 算法与数据结构(part4)--顺序表
  2. 今日代码(200612)--数据录入(python+mysql)
  3. TypeScript class 的静态成员变量
  4. SAP ABAP 编程语言里允许哪些特殊字符作为变量名的一部分?
  5. 如何查看 SAP Fiori Elements List Report Table 都支持哪些设置
  6. SAP 3D visual enterprise viewer 9.0 的下载方式
  7. Angular jasmine单元测试框架spied method的调用记录数据结构
  8. 如何处理Angular项目在Visual Studio Code打开报关于@Decorators的警告信息
  9. Windows环境下,如何在Docker里运行SAP UI5应用
  10. JavaScript ES6对Proxy的原生支持的一个例子