SAP UI5 中有没有类似 Angular Router 的路由机制

我们正在开发一个典型的销售订单应用,页面最初显示订单列表,点击某一行之后进入订单明细,浏览器地址随之改变。刷新明细页面后,应用仍然能够根据地址恢复到同一张销售订单。按下浏览器返回按钮,又能回到订单列表,而不是重新加载整个站点。若把这套交互放在 Angular 中,承担核心工作的正是@angular/router里的Router。放到 SAP UI5 中,同样存在一套正式的客户端路由机制,最接近 Angular Router 的类就是sap.ui.core.routing.Router,在面向移动端和响应式应用的场景里,经常会使用建立在它之上的sap.m.routing.Router

所以,问题可以直接回答为,有。SAP UI5 不但有类似 Angular Router 的概念,类名本身也叫Router。它同样负责根据浏览器地址识别当前导航状态,匹配路由规则,显示对应页面,传递路由参数,支持程序化导航,并与浏览器历史记录协作。SAP 官方文档把sap.ui.core.routing.RouterRouteTargetsHashChangerHistory都放在核心路由命名空间中,说明路由不是应用层临时拼出来的技巧,而是 UI5 框架的标准组成部分。(