路由

时间:2015-10-03 11:49:23

标签: routing sapui5

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

更具体一点:

包含url参数的链接指向主页面,因为其路径具有空模式。

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

控制器处理完请求后,我正在使用路由器通过调用

导航到另一个视图
getRouter().navTo("ViewX", {}, false)

浏览器中的网址更改为

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

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

干杯

1 个答案:

答案 0 :(得分:1)

从我对你的问题的理解,你可以说2条路线和类似的东西

routes : [ {
                pattern : "Val1",
                name : "Main",
                view : "Main",
                viewId : "Start"

            },{
                pattern : "Val2",
                name : "Next",
                view : "Next",
                viewId : "Start1"

            } ]

现在您调用路线“Main”,您的网址将类似于 的 http://applicationurl:port/ProjectName#Val1
从这里你调用路由接下来系统会自动将网址改为
http://applicationurl:port/ProjectName#Val2
SAPUI5路由支持开箱即用。你有什么不同的想法吗?

编辑:更新了答案
不是从目前的观点来看。
但我可以建议一个解决方法。在没有您关注的参数的情况下,再向同一视图添加一条路径。现在,您可以在执行操作后调用路径,从而导致加载相同的视图。若要记住要点

  1. 小心路线,不应该发生冲突。
  2. 再次加载相同的视图,导致调用routeMatched事件并需要小心处理。
  3. 作为旁注,这些路线适用于书签和可寻址功能。我建议您考虑通过SAPUI5中的EventBus处理操作。