SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的

举报
汪子熙 发表于 2022/05/19 13:38:32 2022/05/19
【摘要】 仅从静态代码分析来看,title 数据源有两处:flpSandbox.html 里的 title 标签manifest.json 文件里 sap.app 字段下的 title 字段。下图这个语法并不是 Angular 里数据绑定的 interpolation,而是引用了 i18n.properties 文件里的同名属性。i18n.properties 文件里的 appTitle place ...

仅从静态代码分析来看,title 数据源有两处:

  1. flpSandbox.html 里的 title 标签

  1. manifest.json 文件里 sap.app 字段下的 title 字段。

下图这个语法并不是 Angular 里数据绑定的 interpolation,而是引用了 i18n.properties 文件里的同名属性。

在这里插入图片描述

i18n.properties 文件里的 appTitle place holder(占位符):

运行时发现,应用程序 bootstrap 时,首先显示 html 里维护的值:

最终被 i18n.properties 里的 appTitle 的值所取代。

在函数 fnSetTitleForComponent 里,给 Component 设置 title 属性:

从下面这个函数,能看出 title 属性来自 manifest.json 文件:

	function getAppTitle(){
			return oNavigationControllerProxy.oAppComponent.getManifestEntry("sap.app").title;
		}

我们在本地 Visual Studio Code 里, 按照下面两篇文章,完成了 SAP UI5 的应用开发,

最后能得到一个列表,效果如下:

本文我们使用 SAP UI5 提供的 Smart 控件来继续丰富这个应用。

从下面三个 namespace 引入 Smart 控件:

  • xmlns:smartFilterBar=“sap.ui.comp.smartfilterbar”
  • xmlns:smartList=“sap.ui.comp.smartlist”
  • xmlns:smartTable=“sap.ui.comp.smarttable”

xml view 的实现源代码:

<mvc:View controllerName="tutorial.products.controller.Products" displayBlock="true"
xmlns="sap.m"
xmlns:smartFilterBar="sap.ui.comp.smartfilterbar"
xmlns:smartList="sap.ui.comp.smartlist"
xmlns:smartTable="sap.ui.comp.smarttable"
xmlns:mvc="sap.ui.core.mvc">
<Page id="Products">
  <smartFilterBar:SmartFilterBar id="smartFilterBar" persistencyKey="UniqueAndStablePersistencyKey" entitySet="Products" considerSelectionVariants="true" />
  <smartList:SmartList id="smartProductList" smartFilter="smartFilterBar" entitySet="Products" expandFields="Category" header="Products List" showRowCount="true" showFullScreenButton="true" enableAutoBinding="true">
    <smartList:listItemTemplate>
      <StandardListItem id="listTemplate" type="Navigation" press="handleListItemPress" title="{ProductName}" info="{= ${UnitPrice} + '' }" description="{Category/CategoryName}" />
    </smartList:listItemTemplate>
  </smartList:SmartList>
</Page>
</mvc:View>

npm run start 启动工
程,最后看到的 Smart List:

Smart Filter 控件提供的开箱即用的功能:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。