SAP UI5 应用中的 sap.ui.require 使用场景

下图是笔者 SAP UI5 开发教程中使用到的一段代码:

var mPath = sap.ui.require.toUrl('sap/ui5/walkthrough') + "/";
console.log('Jerry: ', mPath);

本文介绍 sap.ui.require 的使用场景和明细。

其主要用途是,解析一个或多个 SAP UI5 模块依赖关系。

工作模式为,单个模块导出值的同步检索(探测)。当使用单个字符串调用时,该字符串被假定为已加载模块的 ID,并返回该模块的导出。 如果模块还没有被加载,或者它是一个没有 shim 的非 UI5 模块(例如第三方模块),则返回 undefined。

此签名变体允许在不启动模块加载的情况下同步访问 SAP UI5 模块的导出(export).

一个例子:

var JSONModel = sap.ui.require("sap/ui/model/json/JSONModel");

对于已知为 UI5 模块的模块,此签名变体可用于检查模块是否已加载。

如果给定字符串数组和(可选)回调函数,则字符串被解释为模块 ID,并加载相应的模块(及其传递依赖项),然后回调函数将被异步调用。 指定模块的模块导出将作为参数提供给回调函数,其顺序与它们在依赖项数组中出现的顺序相同。

异步用例的返回值恒定为 undefined.

看一个例子:

 sap.ui.require(['sap/ui/model/json/JSONModel', 'sap/ui/core/UIComponent'], function(JSONModel,UIComponent) {
    
    

    var MyComponent = UIComponent.extend('MyComponent', {
    
    
      ...
    });
    ...

  });

Unified Resource Names

一些 UI5 API 使用统一资源名称 (简称 URN) 作为它们处理的资源的命名方案(例如 Javascript、CSS、JSON、XML …)。 URN 类似于 URL 的路径组件:

  • 它们由一个非空的名称段序列组成
  • 段由正斜杠 / 分隔
  • 名称段仅由 URL 路径段字符组成。 建议仅使用 ASCII 字母(大写或小写)、数字和特殊字符 $_-.
  • 不支持空名称段
  • 仅由点组成的名称是保留的,不得用于资源
  • 名称区分大小写,尽管底层服务器可能不区分大小写
  • 未指定有关 URL 编码字符的行为,应避免使用 %ddd 表示法
  • 前导斜杠的含义未定义,但将来可能会定义。 因此应该避免

猜你喜欢

转载自blog.csdn.net/i042416/article/details/126690929