SAP Fiori Elements List Report 应用里 Header 字段的绑定路径

发布时间 2023-11-25 20:48:17作者: JerryWang_汪子熙

在 ODataMetaModel.bindProperty 方法里设置断点:观察到绑定路径:

/dataServices/schema/0/entityType/6/com.sap.vocabularies.UI.v1.HeaderInfo

在 SAP UI5 开发中,OData 服务是一种常见的数据源。它采用统一的接口和数据模型,使得前端应用可以与后端系统进行交互。在 OData 服务的元数据定义中,通常会定义一系列的实体类型(Entity Type),每个实体类型包含一组相关的属性和导航。

在`/dataServices/schema/0/entityType/6/com.sap.vocabularies.UI.v1.HeaderInfo` 中,它代表了一个特定的 OData 实体类型元数据定义的一个部分。

首先,我们解析这个路径:

  • /dataServices:这是元数据文档的根元素,表示所有的数据服务。

  • /schema/0:这是第一个模式定义。在 OData 服务中,模式(Schema)是一组实体类型、复杂类型、关联、实体容器等的容器。每个模式都有一个命名空间作为其唯一标识。

  • /entityType/6:这是第七个实体类型定义(计数从 0 开始)。每个实体类型定义了一组属性(Property)和可能的导航属性(Navigation Property)。

  • /com.sap.vocabularies.UI.v1.HeaderInfo:这是 SAP UI5 的一个扩展词汇,用于定义实体类型在用户界面上的表现。

com.sap.vocabularies.UI.v1.HeaderInfo 是 SAP UI5 的一个标准词汇,它定义了在一个主要的对象页(Object Page)中,如何展示一个实体的头部信息。它包含以下几个部分:

  • TypeName:这是实体类型的本地化名称,将在页面标题中显示。

  • TypePluralName:这是实体类型的复数形式的本地化名称,将在列表视图中显示。

  • ImageUrl:这是代表实体类型的图片的 URL,将在对象页的头部中显示。

  • Title:这是实体的主要标题,由一个 DataField 对象定义,可以是一个属性名,也可以是一个复杂的表达式。

  • Description:这是实体的描述,也由一个 DataField 对象定义。

在 SAP UI5 的开发过程中,使用这样的词汇可以将数据模型与用户界面解耦,使得开发者可以专注于业务逻辑的实现,而不需要关心具体的 UI 实现细节。

例如,你可以在实体类型的元数据定义中,为 com.sap.vocabularies.UI.v1.HeaderInfo 指定以下的值:


<com.sap.vocabularies.UI.v1.HeaderInfo>

<TypeName>产品</TypeName>

<TypePluralName>产品列表</TypePluralName>

<ImageUrl>url_to_image</ImageUrl>

<Title>

<com.sap.vocabularies.UI.v1.DataField>

<PropertyPath>ProductName</PropertyPath>

</com.sap.vocabularies.UI.v1.DataField>

</Title>

<Description>

<com.sap.vocabularies.UI.v1.DataField>

<PropertyPath>ProductDescription</PropertyPath>

</com.sap.vocabularies.UI.v1.DataField>

</Description>

</