SAP UI5 sap.ui.unified 命名空间的作用介绍

简介: SAP UI5 sap.ui.unified 命名空间的作用介绍

我们在查阅 SAP UI5 官网的时候,有时会看见关于 namespace 即命名空间的资源介绍,如下图所示。

这里的符号 n 代表 namespace


在一个加载完毕的 SAP UI5 应用浏览器窗口里,打开 Chrome 开发者工具 console 面板,输入命名空间,比如 sap.ui.unified, 就能看到这个命名空间里包含的 SAP UI5 实现 class:

在 SAP UI5 中,命名空间用于组织代码并避免命名冲突。它可以帮助开发者定义应用程序中的资源位置。例如,在引导时,可以在 index.html 中使用 data-sap-ui-resourceroots 属性设置命名空间。这样,我们就可以使用命名空间来指向应用程序中的文件夹,例如控制器、视图等。


SAP UI5 namespace 在 index.html 中的使用

举个例子,如果在 index.html 中设置了如下命名空间:

<script id='sap-ui-bootstrap' src='resources/sap-ui-core.js' data-sap-ui-theme='sap_bluecrystal' data-sap-ui-libs='sap.m' data-sap-ui-compatVersion="edge" data-sap-ui-resourceroots=' { "sap.ui.demo.db" : "./" }' > </script>


那么从现在开始,sap.ui.demo.db将指向 index.html 所在的文件夹(因为将属性设置为当前文件夹./.


在 SAP UI5 中,命名空间的限制主要与开发人员在引导时设置的命名空间有关。


至于命名约定,可以使用 company.project 等形式。但是,建议尽量简化命名空间,以便在需要时不必输入过多的点号。


我们再看看 SAP UI5 命名空间在 JavaScript 代码中的使用。


SAP UI5 namespace 在控制器 JavaScript 编程中的使用

命名空间的使用在各种编程语言中都很常见,比如在Java中就有包(package)来作为命名空间。在SAP UI5中,命名空间的概念和使用与此类似。比如在定义一个控制器或组件时,我们通常会使用命名空间来指定其位置。例如,如果我们有一个名为"myapp"的应用,那么我们可能会将一个名为"HomeController"的控制器定义在"myapp.controller"这个命名空间下。


下面是一个SAP UI5中使用命名空间的例子:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/m/MessageToast"
], function (Controller, MessageToast) {
    "use strict";
    return Controller.extend("myapp.controller.Home", {
        onShowHello: function () {
            MessageToast.show("Hello World");
        }
    });
});


在这个例子中,我们定义了一个控制器,并使用"myapp.controller.Home"作为它的命名空间。这样,我们就能够在应用的其他部分通过这个命名空间来引用或使用这个控制器。例如,我们可以在一个视图中通过以下方式来使用这个控制器:

<mvc:View controllerName="myapp.controller.Home" xmlns:mvc="sap.ui.core.mvc" displayBlock="true" xmlns="sap.m">
    <App>
        <pages>
            <Page title="{i18n>title}">
                <content>
                    <Button text="{i18n>showHelloButtonText}" press=".onShowHello" />
                </content>
            </Page>
        </pages>
    </App>
</mvc:View>


在这个例子中,我们通过"controllerName"属性指定了视图使用的控制器,其值就是前面定义控制器时使用的命名空间。


除了用于组织代码,命名空间在SAP UI5中还有另一个重要的作用,那就是用于定位资源。在SAP UI5中,系统会根据命名空间来确定一个控制器、视图、组件等的物理位置。例如,对于上面的"myapp.controller.Home",SAP UI5会将其转换为一个路径,比如"myapp/controller/Home.controller.js",然后在这个路径下查找对应的JS文件。因此,命名空间实际上也定义了我们的项目结构。


参考文献

(1) How use Namespaces in sapui5? - Stack Overflow. https://stackoverflow.com/questions/40273481/how-use-namespaces-in-sapui5.

(2) Namespaces in SAPUI5 - Stack Overflow. https://stackoverflow.com/questions/45739780/namespaces-in-sapui5.

(3) Best Practice for SAPUI5 Application Namespace | SAP Community. https://answers.sap.com/questions/757786/best-practice-for-sapui5-application-namespace.html.


相关文章
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
5月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
|
5月前
|
监控 测试技术
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
SAP 电商云修改 Product Catalog Staged 版本数据后,同步到 online 版本的 UI 操作
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
|
5月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
|
5月前
|
缓存 JavaScript 前端开发
如何理解 SAP UI5 的 sap.ui.define 函数?
如何理解 SAP UI5 的 sap.ui.define 函数?
|
5月前
|
JSON 数据格式
SAP UI5 Class sap.ui.model.Context 的作用介绍
SAP UI5 Class sap.ui.model.Context 的作用介绍

热门文章

最新文章

下一篇
无影云桌面