首页 > 其他分享 >SAP Fiori Elements 应用里标准模板 XML Fragment 加载的逻辑和 XMLPreprocessor 的作用

SAP Fiori Elements 应用里标准模板 XML Fragment 加载的逻辑和 XMLPreprocessor 的作用

时间:2023-08-14 14:13:42浏览次数:46  
标签:XML Elements XMLPreprocessor 视图 js 预处理 模板

触发时间点是 XMLPreprocessorinsertFragment 方法:

上图的调试器上下文里,我们看到了 XMLPreprocessor.js 的实现,它是 SAP UI5 框架中一个重要的文件,它主要负责处理 XML 视图的预处理工作。

对于 SAP UI5 中的视图创建,可以使用 JavaScript、JSON、XML 等多种方式。其中,XML 是一个常用的方式,可以更直观地描述 UI 结构和数据绑定。然而,XML 本身是静态的,为了提供更多动态功能,SAP UI5 引入了 XML 预处理机制,可以在 XML 视图被实例化成 JavaScript 对象前,对 XML 进行一些特殊的处理。而 XMLPreprocessor.js 就是负责这个预处理工作的。

XMLPreprocessor.js 主要实现了以下几个功能:

  1. 条件处理:类似于编程语言中的 ifelse 语句,XMLPreprocessor.js 可以根据一定的条件决定是否加载某个 XML 元素。这使得我们可以在视图加载阶段根据不同的条件动态地调整 UI 结构。

  2. 重复处理:类似于编程语言中的 for 循环,XMLPreprocessor.js 可以根据一定的规则重复生成某个 XML 元素。这使得我们可以在视图加载阶段动态地生成列表或表格等结构。

  3. 模板处理:XMLPreprocessor.js 可以引入并处理模板,从而实现更复杂的 UI 结构。这使得我们可以将复杂的 UI 结构抽象成模板,然后在不同的地方引用,提高代码的复用性。

例如,我们有一个 XML 视图,其中有一个表格元素需要根据数据动态生成。在没有预处理的情况下,我们需要在 JavaScript 代码中动态创建表格和表格的行列。使用 XML 预处理,我们可以在 XML 中直接定义一个重复的元素,然后通过 XMLPreprocessor.js 在视图加载阶段将这个元素复制成多个。代码如下:

<Table>
  <!-- 使用 `repeat` 属性定义重复的元素 -->
  <columns repeat="{path: '/columns', template: 'columnTemplate'}" />
</Table>

<!-- 定义模板 -->
<Column id="columnTemplate">
  <Label text="{label}" />
</Column>

在这个例子中,XMLPreprocessor.js 会根据数据中的 /columns 路径,重复生成 Column 元素,并使用 columnTemplate 模板。每个生成的 Column 元素的 Labeltext 属性会被绑定到相应的 label 数据。

通过这种方式,我们可以在 XML 中直接定义动态的 UI 结构,大大简化了代码,提高了可读性和可维护性。而这些功能的实现,都离不开 XMLPreprocessor.js 的预处理工作。

标签:XML,Elements,XMLPreprocessor,视图,js,预处理,模板
From: https://www.cnblogs.com/sap-jerry/p/17628459.html

相关文章

  • SAP UI5 XML 视图里解析 Extension Point 的触发点
    解析到XML视图里的ExtensionPoint定义后,开始实例化过程:Extensionpoint的工作原理是在原有的应用中预定义一些扩展点,然后开发者可以在这些扩展点插入自定义的组件或代码,以实现新的功能。这种机制的优点是可以保持原有应用的稳定性,同时也方便进行扩展和维护。具体来说,SAPU......
  • 关于 SAP Fiori Elements 应用的 ResponsiveTableColumnsExtension 扩展
    笔者这篇教程介绍了如何在SAPFioriElements应用的manifest.json里注册Extensionfragment,从而给ListReport应用的Table区域新增自定义列:10.如何通过扩展(Extension)的方式给SAPFioriElementsListReport的表格新增列请大家注意下图高亮的扩展:ResponsiveTabl......
  • Windows 11 自动应答XML注释版
    详细的介绍了Win11自动应答XML各标记的名称、用途:还等什么?访问http://oldhelps.html-5.me,搜索Windows11自动应答XML注释版就是他......
  • 如何通过扩展(Extension)的方式给 SAP Fiori Elements List Report 的表格新增列试读
    本教程之前的步骤,我们已经详细学习了SAPFioriElements应用里类型为ListReport的创建步骤,并且介绍了使用安装在VisualStudioCode里的SAPFioriTools扩展提供的向导,生成FioriElements应用的本地项目结构:5.动手开发第一个SAPFioriElements应用6.知其然......
  • 什么是 SAP UI5 XML 视图里的 customData
    下面是XML视图里的代码:<core:FragmentDefinitionxmlns:core="sap.ui.core"xmlns="sap.m"><Column><Texttext="{i18n|sap.suite.ui.generic.template.ListReport|STTA_C_MP_Product>xfld.Rating}"......
  • 使用 Fiori Elements 框架开发应用的优势
    FioriElements框架是SAP提供的一种开发应用程序的高级抽象层。它建立在SAPUI5框架之上,旨在简化企业应用的开发过程,提高开发效率,并保持应用的一致性和用户体验。使用FioriElements框架,开发人员可以快速创建符合SAPFiori设计准则的应用,无需大量的手动编写代码。本文将探......
  • Fiori Elements 应用里的 Analytical List Page
    当谈到SAPFioriElements应用中的"AnalyticalListPage"(ALP)时,它是一种用于展示分析型数据的现代化、可自定义的应用类型。ALP基于SAPUI5技术栈,旨在提供一种简化的开发方法,使开发人员能够快速创建符合SAPFiori用户体验标准的分析型列表页面。该应用类型通过可配置的......
  • 什么是 SAP Fiori Elements 的 extensionAPI
    在SAPFioriElements中,"extensionAPI"是一种用于自定义和扩展FioriElements应用的强大工具。它提供了一组API(应用程序编程接口),允许开发人员通过代码的方式对FioriElements应用进行定制和增强。借助extensionAPI,开发人员可以在不影响标准FioriElements功能的基础上,......
  • Fiori Elements 应用里的 Object Page 应用
    当谈到SAPFioriElements应用中的"ObjectPage",它是一种用于展示单个业务对象的详细信息的现代化、可自定义的应用类型。ObjectPage旨在提供一种简化的开发方法,使开发人员能够快速创建符合SAPFiori用户体验标准的详细信息页面。该应用类型通过可配置的方式,结合了字段布局......
  • 如何找到 SAP Fiori Elements 应用某个字段显示值具体的数据源试读版
    笔者将自己在SAP领域16年(2007~2023)的SAPUI5(Fiori)和OData开发的技术沉淀,进行了系统的归纳和总结,分别写成了三套由浅入深的学习教程,收到了不错的反响:零基础快速学习ABAP一套适合SAPUI5开发人员循序渐进的学习教程SAPOData开发实战教程-从入门到提高这三套......