我在Fiori Launchpad上有一个带有两个图块的应用程序,将URL参数设置为不同。我导致跟随两个哈希:
#SemanticObject-action?myparam=tile1&/inner/app/path
#SemanticObject-action?myparam=tile2&/inner/app/path
现在我想从一个瓷砖导航到另一个瓷砖。
在Component.js中我得到了那个参数:
this.getComponentData().startupParameters.myparam[0];
所以我可以决定如何采取行动。
现在如何在控制器上更改该参数?我试过了(什么都行不通):
//simply overwriting does not work
this.getComponentData().startupParameters.myparam[0] = "tile2";
sap.ushell.Container.getService("CrossApplicationNavigation").toExternal(
{params : {myparam: "tile2"}});
我不想要的是使用window.location
之类的东西,正则表达式替换" tile1"用" tile2"或者这种不恰当的解决方案。
window.location.hash = window.location.hash.replace(sOldParam, sNewParam);