1.练习效果
在SAPUI5中,资源文件通常称为模块。在此步骤中,我们用来自sap.m库做Message Toast替换上一个练习中的报警功能。所需的模块可以异步加载。
2.源码
您可以在演练-步骤6中查看和下载所有文件。
webapp / controller / App.controller.js
1 2 3 4 5 6 7 8 9 10 11 |
sap.ui.define([ "sap/ui/core/mvc/Controller", "sap/m/MessageToast" ], function (Controller, MessageToast) { "use strict"; return Controller.extend("sap.ui.demo.walkthrough.controller.App", { onShowHello : function () { MessageToast.show("Hello World"); } }); }); |
我们通过完全限定的路径扩展了所需模块的数组 sap.m.MessageToast。一旦两个模块 Controller 和 MessageToast加载后,将调用回调函数,我们可以通过访问传递给函数的参数来使用这两个对象。
这种异步模块定义(AMD)语法可以清楚地将模块加载与代码执行分开,从而大大提高了应用程序的性能。浏览器可以在代码执行之前决定何时以及如何加载资源。
3.约定
- 采用 sap.ui.define用于控制器和所有其他JavaScript模块定义全局名称空间。使用命名空间,可以在整个应用程序中对对象进行寻址。
- 采用 sap.ui.require 用于异步加载依赖关系,但不声明名称空间,例如仅需要执行但无需从其他代码调用的代码。
- Use the name of the artifact to load for naming the function parameters (without namespace).。