【问题标题】:Remove URL params on routing删除路由上的 URL 参数
【发布时间】:2015-10-03 11:49:22
【问题描述】:

我正在调用一个传递 url 参数的视图来执行特定的自定义操作。处理完这些操作后,我想使用路由器移动到另一个页面,但首先删除 url 参数。

更具体一点:

包含 url 参数的链接指向主页,因为它的路由有一个空模式。

example.com/?urlParam1=Test&urlParam2=Boum

一旦控制器处理了请求,我将使用路由器通过调用导航到另一个视图

getRouter().navTo("ViewX", {}, false)

浏览器中的url变为

example.com/?urlParam1=Test&urlParam2=Boum/#/ViewX

url 参数仍然可见。有没有机会删除它们?

干杯

【问题讨论】:

  • 请具体一点。你能提供一些示例代码吗?
  • 我不确定作者的意图,但我有类似的问题。如果使用启动参数 (help.sap.com/saphelp_uiaddon10/helpdata/en/07/…) 调用应用程序,我将构建一个导航。但参数仍将在 URL 中。所以我的问题是:如何从路由 url 中删除“startupparameter”?

标签: routing sapui5


【解决方案1】:

根据我从您的问题中了解到的情况,您可以说 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
然后从这里调用 route Next 然后系统会自动将 url 更改为
http://applicationurl:port/ProjectName#Val2
SAPUI5 routing 开箱即用地支持这一点。你有什么不同的目标吗?

编辑:更新答案
不,不是从当前视图来看。
但我可以建议一个解决方法。在没有您关注的参数的情况下,还有一条通往同一视图的路线。现在,您可以在执行导致加载相同视图的操作后调用路由。
要记住的几点

  1. 小心路由,它们不应该冲突。
  2. 再次加载相同的视图会导致调用 routeMatched 事件,需要小心处理。

作为旁注,这些路线用于书签和可寻址功能。我建议您考虑通过 SAPUI5 中的 EventBus 处理操作。

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 2012-01-29
    • 2023-03-11
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 2017-03-25
    • 2017-11-24
    • 2014-03-26
    相关资源
    最近更新 更多