首页 > 其他分享 >SAP UI5 sap.ui.unified 命名空间的作用介绍

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

时间:2023-07-21 16:22:54浏览次数:42  
标签:unified 控制器 SAP 空间 UI5 命名 ui sap

@

目录

我们在查阅 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.

标签:unified,控制器,SAP,空间,UI5,命名,ui,sap
From: https://www.cnblogs.com/sap-jerry/p/17571748.html

相关文章

  • 什么是 SAP AS ABAP 的 add-on 概念
    ASABAP是ApplicationServerABAP的缩写,即ABAP应用服务器。SAPASABAP的Add-on,顾名思义,是一个附加组件,它提供了一种实现特定业务功能或扩展已有系统功能的方式。大家玩过星际争霸吗?这个游戏里人族的指挥中心基地,可以在雷达和核弹发射井两种Add-on里面二选一。建造了这......
  • 发现在elementui使用xlsx导出excel时会有重复的数据
    原因是由于elementui中的固定列产生的影响,doExportExcel(){//导出为excel    letwb=''    letxlsxParam={raw:true}    letfix=document.querySelector(".el-table__fixed-right")    if(fix){     wb=XLSX.uti......
  • squid 503问题排查,即ipv6下的squid应用
    squid不支持IPv6,按照里面的提示,在/etc/squid/squid.conf里面配置一个dns_v4_firston再次尝试的时候可以了!如果还是不行的话,直接修改系统的配置修改/etc/sysconfig/network:设置NETWORKING_IPV6=no......
  • Python3 pyautogui安装成功,但是不能引用
    安装使用的是pycharm,python3.8python-mpipinstallpyautogui-ihttps://pypi.tuna.tsinghua.edu.cn/simple,显示Successfully。 引用importpyautogui报错:Nomodulenamed'pyautogui'解决办法尝试各种网上的方法,查询环境等,不太懂,感觉没有问题偶然发现虽然piplist有......
  • springboot学习之十三(druid+mybaits plus)
    Druid介绍Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP、C3P0、BoneCP、Proxool、JBossDataSource等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐! Springboot集成......
  • 解决element ui 下拉框表单验证切换选项就直接触发的问题
    elementui下拉框表单验证正确使用步骤1.确保form组件的:model属性绑定了表单的数据对象  2.确保form组件的rules绑定了对应的rule 3.确认要验证的表单item绑定了对应的prop属性注意:prop属性的名称要和rule里面的名称一样并且和v-model的属性名称一样才行 完成以上......
  • Unity UGUI的VerticalLayoutGroup(垂直布局)组件的介绍及使用
    UnityUGUI的VerticalLayoutGroup(垂直布局)组件的介绍及使用1.什么是VerticalLayoutGroup组件?VerticalLayoutGroup是UnityUGUI中的一种布局组件,用于在垂直方向上自动排列子对象。它可以根据子对象的大小和布局设置,自动调整子对象的位置和大小,实现垂直布局效果。2.VerticalLay......
  • Unity UGUI的VerticalLayoutGroup(垂直布局)组件的介绍及使用
    UnityUGUI的VerticalLayoutGroup(垂直布局)组件的介绍及使用1.什么是VerticalLayoutGroup组件?VerticalLayoutGroup是UnityUGUI中的一种布局组件,用于在垂直方向上自动排列子对象。它可以根据子对象的大小和布局设置,自动调整子对象的位置和大小,实现垂直布局效果。2.VerticalLayo......
  • WINUI 模态框或模态窗口
    WINUI中是没有类似Winform里的模态框的,为了实现同样的需求,小子借助于popup进行了相应的实现。 思路:自定义控件实现一个窗体,进行信息展示与信息选择;这个窗体作为弹出窗口的展示页面;在页面上进行相应的选择进行什么样的操作,则通过通过委托在实例化这个窗口时传递相应的参数,选择......
  • WINUI 后台代码绑定
    以image为例 前端进行绑定时哪下,注意下述代码中用的是x:Bind,用它进行绑定时需要标明其绑定ViewModel的key值;用Bingding时则不需要。<Imagex:Name="CTCoronalCImage"Width="1010"Height="442"HorizontalAlignment="Stretch"VerticalAlignm......