我有一个SAPUI5应用程序,我需要通过在View1控制器中编写一个方法,从另一个视图(View1)传递一些查询字符串参数来打开一个视图(View2)。
到目前为止,我已经像下面那样完成了它,当我通过webIDE运行应用程序时,它工作正常。但是,当我将应用程序部署到云平台时,它会出错。
控制器js功能
handleDetailNavPress: function(oEvent) {
var viewModel = this.getModel();
var headerInfo = viewModel.getProperty("/HeaderInfo");
var navUrl = "#detailscreen/params?docNo=" +
headerInfo.DocNo+ "&docName=" + headerInfo.DocName";
var url = window.location.href.split('#')[0] + navUrl;
//Navigate to second view
sap.m.URLHelper.redirect(url, true);
}
清单中的路由设置
"routing": { "routes": [
{
"pattern": "viewone",
"name": "viewone",
"target": "viewone"
},
{
"pattern": "viewtwo/params:?query:",
"name": "viewtwo",
"target": "viewtwo"
} ],
部署
后出错viewSample:112 Uncaught TypeError:无法读取属性' 6'为null at getIntentParameter(qcmanager:112) at Object.requestSite(qcmanager:352) 在Object.getSiteJson(qcmanager:500) 在Object.loadAppSite(qcmanager:567) 在qcmanager:745 在qcmanager:746
问题是什么?是否有另一种方法可以通过打开新标签在同一个应用程序中导航。
答案 0 :(得分:0)
如果要在新表格中打开Vi 2,有两个选项:
另一个解决方案是
*请记住,_blank在新标签页中打开视图很疯狂。
答案 1 :(得分:0)
在部署应用程序时,启动板的链接会更改,第二个视图就像当前URL + &/
一样,因此您需要检查URL并正确传递它。
只需相应地更改这两个变量:
navUrl
URL
此外,我建议进行跨应用导航,因为这样会更安全。