Fiori Elements XML 模版的 repeat 指令介绍
Fiori Elements 应用的 XML 模版中的 var
属性保存循环变量的名称,该变量可用于访问重复子元素中的当前列表元素。 在预处理中,repeat 被其内容的多个克隆所取代,每个列表元素一个克隆,每个克隆再次被预处理,就好像它包含在定义循环变量的 with 指令中一样。
以下示例根据模型元当前引用的元素中的 UI vocabulary 去迭代 identification annotation 中的所有字段,并显示每个字段的标签和内容。
无论列表绑定是指数据还是元数据,对于重复实现来说都是完全透明的。模板引擎正在将引用元数据的 template time
绑定表达式替换为引用数据的相应运行时绑定表达式。
例子中使用了格式化程序 .ui.model.odata.AnnotationHelper.format,它封装了 UI vocabulary.
例子如下:
<template:repeat list="{meta>com..vocabularies.UI.v1.Identification}" var="field">
<Label text="{path: 'field>Label', formatter: '.ui.model.odata.AnnotationHelper.format'}" />
<Text text="{path: 'field>Value', formatter: '.ui.model.odata.AnnotationHelper.format'}" />
</template:repeat>
这段代码使用了 Fiori Elements的模板标记语言,它通常用于定义UI组件和数据绑定。现在让我们逐行来看这段代码的含义,并举例说明。
-
<template:repeat list="{meta>com..vocabularies.UI.v1.Identification}" var="field">
- 这一行是一个模板重复标记,它用于在UI中重复显示一组元素。在这个模板中,它指定了一个列表,该列表的数据源是通过路径
meta>com..vocabularies.UI.v1.Identification
获取的。meta
可能是一个上下文对象,用于从数据模型中获取元数据,而com..vocabularies.UI.v1.Identification
则是指定了UI标识符的一组元数据。 - 举例说明:假设我们有一个销售订单的数据模型,其中包含了订单的详细信息。在这个模型中,可能有一个
Identification
元数据集合,它包含了订单的标识信息,比如订单号、订单日期等。这个模板会针对这个集合中的每个标识信息重复显示一组UI组件。
- 这一行是一个模板重复标记,它用于在UI中重复显示一组元素。在这个模板中,它指定了一个列表,该列表的数据源是通过路径
-
<Label text="{path: 'field>Label', formatter: '.ui.model.odata.AnnotationHelper.format'}" />
- 这一行定义了一个标签组件,用于显示字段的标签或标识。
text
属性指定了该标签显示的文本内容,这个文本内容是通过路径field>Label
获取的。同时,还指定了一个格式化器.ui.model.odata.AnnotationHelper.format
,它用于格式化显示的文本内容。 - 举例说明:假设我们有一个订单号字段,那么这个标签组件就会显示"订单号"作为标签的文本内容。
- 这一行定义了一个标签组件,用于显示字段的标签或标识。
-
<Text text="{path: 'field>Value', formatter: '.ui.model.odata.AnnotationHelper.format'}" />
- 这一行定义了一个文本组件,用于显示字段的值。
text
属性指定了该文本显示的内容,这个内容是通过路径field>Value
获取的。同样,也指定了一个格式化器.ui.model.odata.AnnotationHelper.format
,用于格式化显示的文本内容。 - 举例说明:假设我们有一个订单号字段,那么这个文本组件就会显示订单的具体号码,比如"SO123456"。
- 这一行定义了一个文本组件,用于显示字段的值。
- 点赞
- 收藏
- 关注作者
评论(0)