首先,RTFM,在开始为 SAPUI5 进行开发之前,您应该真正做一下演练。
SAPUI5 walkthrough 你问的问题在里面描述得很好......
Routing with parameters
但由于我在这里是一个好人,TL;DR;版本:
您必须向路由器添加路由,定义您想要/需要的 url 参数:
在清单中:
...,
routes: [
{
"name": "personDetailView",
"pattern": "person/detail/{id}",
"titleTarget": "",
"target": [
"PersonDetailView"
]
},
...
]
然后添加目标:
targets: [
"FuelRequestNew": {
"clearControlAggregation": false,
"viewName": "Detail",
"viewId": "PersonDetailView",
"viewPath": "namespace.workspace.view.personDetail"
},
...
]
这样,在输入 url(在此示例中为 domain.com/person/detail/{id})后,路由器会将您带到正确的页面。
要让 {id} 通过,您需要将 onRouteMattched 事件附加到视图。
在视图的 onInit 中:
this.getRouter().getRoute("personDetailView").attachPatternMatched(this._onRouteMatched, this);
并定义onRouteMatched的回调方法:
_onRouteMatched: function (oEvent) {
var sPersonId= oEvent.getParameter("arguments").id; // 'id' name defined in routes!
// Do stuff with url parameters
}