删除 URL 路由参数
Remove URL params on routing
我正在调用传递 url 参数的视图来执行特定的自定义操作。一旦处理了这些操作,我想使用路由器移动到另一个页面但首先删除 url 参数。
更具体地说:
Link 包含 url 参数导致主页,因为它的路由有一个空模式。
example.com/?urlParam1=Test&urlParam2=Boum
控制器处理完请求后,我将使用路由器通过调用
导航到另一个视图
getRouter().navTo("ViewX", {}, false)
浏览器中的url变为
example.com/?urlParam1=Test&urlParam2=Boum/#/ViewX
url 参数仍然可见。有机会移除它们吗?
干杯
据我从你的问题中了解到你有 2 条路线和类似的东西
routes : [ {
pattern : "Val1",
name : "Main",
view : "Main",
viewId : "Start"
},{
pattern : "Val2",
name : "Next",
view : "Next",
viewId : "Start1"
} ]
现在您调用路由 "Main" 并且您的 URL 将类似于
http://applicationurl:port/ProjectName#Val1
然后从这里调用路由 Next 然后系统会自动将 url 更改为
http://applicationurl:port/ProjectName#Val2
SAPUI5 路由开箱即用地支持这一点。您想实现什么不同?
编辑:更新答案
不,从目前的观点来看。
但我可以建议一个解决方法。在没有您关注的参数的情况下,再有一条通往同一视图的路线。现在您可以在执行导致加载相同视图的操作后调用路由。
有几点要记住
- 小心路由,它们不应冲突。
- 再次加载同一视图导致调用 routeMatched 事件,需要谨慎处理。
作为旁注,路由用于书签和可寻址功能。我建议您考虑通过 SAPUI5 中的 EventBus 处理操作。
我正在调用传递 url 参数的视图来执行特定的自定义操作。一旦处理了这些操作,我想使用路由器移动到另一个页面但首先删除 url 参数。
更具体地说:
Link 包含 url 参数导致主页,因为它的路由有一个空模式。
example.com/?urlParam1=Test&urlParam2=Boum
控制器处理完请求后,我将使用路由器通过调用
导航到另一个视图getRouter().navTo("ViewX", {}, false)
浏览器中的url变为
example.com/?urlParam1=Test&urlParam2=Boum/#/ViewX
url 参数仍然可见。有机会移除它们吗?
干杯
据我从你的问题中了解到你有 2 条路线和类似的东西
routes : [ {
pattern : "Val1",
name : "Main",
view : "Main",
viewId : "Start"
},{
pattern : "Val2",
name : "Next",
view : "Next",
viewId : "Start1"
} ]
现在您调用路由 "Main" 并且您的 URL 将类似于
http://applicationurl:port/ProjectName#Val1
然后从这里调用路由 Next 然后系统会自动将 url 更改为
http://applicationurl:port/ProjectName#Val2
SAPUI5 路由开箱即用地支持这一点。您想实现什么不同?
编辑:更新答案
不,从目前的观点来看。
但我可以建议一个解决方法。在没有您关注的参数的情况下,再有一条通往同一视图的路线。现在您可以在执行导致加载相同视图的操作后调用路由。
有几点要记住
- 小心路由,它们不应冲突。
- 再次加载同一视图导致调用 routeMatched 事件,需要谨慎处理。
作为旁注,路由用于书签和可寻址功能。我建议您考虑通过 SAPUI5 中的 EventBus 处理操作。