SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版相关的知识,希望对你有一定的参考价值。

​​SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版​​


本教程第 77 篇文章发表之后,一位学习非常仔细的朋友发现了一个问题:

  • ​​SAP UI5 应用开发教程之七十七 - SAP UI5 动态页面路由的高级用法:路由记录 routes 和 target 的一对多关系​​

Hi,Jerry,我在复刻这个篇章的代码的时候遇到了一个问题:在mainfest.json文件中配置routes时,若把该篇的新的路由路径写在最后,点击Home对应的按钮会跳转到Employee视图去,但是浏览器上的路由路径又是正确的,相关的原因和原理可以讲讲吗?

SAP

简要回顾步骤 77 完成的开发内容

在步骤 77,我们在 UI 上增添了一个新按钮:

SAP

这个按钮的事件响应函数:​​this.getRouter().navTo("employeeOverview")​

SAP

这个 ​​navTo​​​ 方法的输入参数 ​​employeeOverview​​​,定义在 manifest.json 的 ​​routes​​​ 区域里,位于第 85 行的 ​​employees​​ 记录之后。

SAP

点击 ​​Show Employees Overview​​​ 按钮之后,SAP UI5 路由框架从 manifest.json 文件 ​​routes​​ 区域解析出的记录里,找到路由 target,即上图高亮区域所示的配置信息,然后按照下图所示的顺序加载三个对应的 XML 视图文件:

SAP

最后完成页面渲染:

SAP

这位朋友遇到的问题

如果故意把步骤 77 新添加的 routes 数组里的元素,不放在正确的如图例 1 所示的位置,即位于 employeeList 这条记录之后,而是作为最后一条记录,放在 ​​routes​​ 末尾,如下图所示:

SAP

为了不影响步骤 77 的学习,我把文件夹 77 拷贝了一份出来,重命名成 77-A,然后将上图的改动,实现在了 77-A 文件夹的 manifest.json 里面。

在 77-A 文件夹里执行命令行 ​​ui5 serve​​​, 点击 ​​Show Employee Overview​​ 按钮,会发生什么事情?

我们会观察到,SAP UI5 界面短暂显示了 Employee 的明细页面,即 ​​Employee.view.xml​​ 文件里的内容。

SAP

最后显示的内容变成了 404 Not found

SAP

依次加载的 XML 视图文件如下:

SAP

为什么会出现这种奇怪的现象?

​​本文​​通过 SAP UI5 路由框架的实现原理,做出了深入的分析。




以上是关于SAP UI5 应用 manifest.json 文件里 Routes 数组元素的相对顺序,不可忽视的试读版的主要内容,如果未能解决你的问题,请参考以下文章

SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示

HTML5开发移动web应用——SAP UI5篇

使用SAP Cloud Platform fullstack WebIDE创建SAP UI5应用并部署

最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上

HTML5开发移动web应用——SAP UI5篇

如何把SAP UI5应用部署到SAP云平台的Fiori Launchpad里去