前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP UI5 sap.ui.unified 命名空间的作用介绍

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

作者头像
Jerry Wang
发布2023-07-17 21:28:54
1580
发布2023-07-17 21:28:54
举报

我们在查阅 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 中设置了如下命名空间:

代码语言:javascript
复制
<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中使用命名空间的例子:

代码语言:javascript
复制
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"作为它的命名空间。这样,我们就能够在应用的其他部分通过这个命名空间来引用或使用这个控制器。例如,我们可以在一个视图中通过以下方式来使用这个控制器:

代码语言:javascript
复制
<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.

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SAP UI5 namespace 在 index.html 中的使用
  • SAP UI5 namespace 在控制器 JavaScript 编程中的使用
  • 参考文献
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com