【问题标题】:Which of `sap.ui.require` or `sap.ui.define` should I use?我应该使用 `sap.ui.require` 或 `sap.ui.define` 中的哪一个?
【发布时间】:2020-10-17 16:28:41
【问题描述】:

据我了解,在很多情况下sap.ui.require 和sap.ui.define 是可以互换的。不过有convention:

  • 对控制器和所有其他 JavaScript 模块使用 sap.ui.define 来定义全局命名空间。使用命名空间,可以在整个应用程序中寻址对象。

  • 使用sap.ui.require 异步加载依赖但不声明命名空间,例如只需要执行的代码,但不需要从其他代码调用。

我多次阅读此声明,但我不确定我是否完全理解。 例如,当我为特定的 UI5 视图编写 UI5 控制器时,我应该使用什么?而当我写一个BaseController.js,其余的控制器将基于它,那么我应该选择sap.ui.define还是sap.ui.require?

【问题讨论】:

    标签: javascript sapui5 amd


    【解决方案1】:

    According 对于 SAPUI5 团队来说,sap.ui.define 类似于 ES6 模块中的静态import 和export 语句,而sap.ui.require 更像是动态import() 语句。

    基本上所有 UI5 模块定义(包括视图控制器的代码)都应该在顶层以 sap.ui.define 开头,而如果在代码中间我想导入一些其他 UI5 模块,则应该使用 sap.ui.require。

    有关该主题的更多详细信息:Differences between sap.ui.require and sap.ui.define。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 2020-04-04
      • 2012-08-27
      • 2013-01-27
      • 2012-03-10
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多