共计 892 个字符,预计需要花费 3 分钟才能阅读完成。
本教程第 77 篇文章发表之后,一位学习十分认真的敌人发现了一个问题:
- SAP UI5 利用开发教程之七十七 – SAP UI5 动静页面路由的高级用法:路由记录 routes 和 target 的一对多关系
Hi,Jerry,我在复刻这个篇章的代码的时候遇到了一个问题:在 mainfest.json 文件中配置 routes 时,若把该篇的新的路由门路写在最初,点击 Home 对应的按钮会跳转到 Employee 视图去,然而浏览器上的路由门路又是正确的,相干的起因和原理能够讲讲吗?
简要回顾步骤 77 实现的开发内容
在步骤 77,咱们在 UI 上削减了一个新按钮:
这个按钮的事件响应函数:this.getRouter().navTo("employeeOverview")
这个 navTo
办法的输出参数 employeeOverview
,定义在 manifest.json 的 routes
区域里,位于第 85 行的 employees
记录之后。
点击 Show Employees Overview
按钮之后,SAP UI5 路由框架从 manifest.json 文件 routes
区域解析出的记录里,找到路由 target,即上图高亮区域所示的配置信息,而后依照下图所示的程序加载三个对应的 XML 视图文件:
最初实现页面渲染:
这位敌人遇到的问题
如果成心把步骤 77 新增加的 routes 数组里的元素,不放在正确的如图例 1 所示的地位,即位于 employeeList 这条记录之后,而是作为最初一条记录,放在 routes
开端,如下图所示:
为了不影响步骤 77 的学习,我把文件夹 77 拷贝了一份进去,重命名成 77-A,而后将上图的改变,实现在了 77-A 文件夹的 manifest.json 外面。
在 77-A 文件夹里执行命令行 ui5 serve
, 点击 Show Employee Overview
按钮,会产生什么事件?
咱们会察看到,SAP UI5 界面短暂显示了 Employee 的明细页面,即 Employee.view.xml
文件里的内容。
最初显示的内容变成了 404 Not found
顺次加载的 XML 视图文件如下:
为什么会呈现这种奇怪的景象?
本文通过 SAP UI5 路由框架的实现原理,做出了深刻的剖析。