技术文章
在SAP Fiori中动态处理启动参数
背景
在我的场景中,我有两个在FLP中配置的Fiori应用程序。从App1点击客户id链接,它应该导航到App2, URL参数包含客户id、部门等。这些URL参数必须在App2中使用。
方法
URL中编码的启动参数的处理。
这个博客就是它的工作版本文章.
从App1传递启动参数
我正在获取我需要传递给App2的客户ID的新闻事件的参数。我正在使用跨应用导航服务导航到App2及其语义对象和操作。
App1.Controller.js:
onCustomerIdPress: function (oEvent){let selCustomer=oEvent. getsource (). gettext(), //这给了我客户的ID。部门= this._viewModel.getProperty(“/部门”);//这给了我的部门ID让ocrosssappnav = sap. usshell . container . getservice ("CrossApplicationNavigation");oCrossAppNav。toExternal({目标:{semanticObject: "XXXXX",动作:"ZZZZZ"},参数:{CustomerId: selCustomer, Division: Division}});}
因此,当导航到App2时,浏览器上的URL将如下所示
https://domain.com#XXXXX-ZZZZZ?CustomerId=0000000&Division=00000
在App2中消耗启动参数
在这里,我得到的值是通过App1直接在App2视图的控制器的。
App2.Controller.js:
onInit: function(){........ ........let oStartupParameters = this.getOwnerComponent().getComponentData().startupParameters;if (oStartupParameters && oStartupParameters。CustomerId && oStartupParameters. division) {let CustomerId =oStartupParameters。CustomerId[0],部门= oStartupParameters.Division [0];}}
如果你想在本地环境中的一个独立应用程序中测试消费逻辑,你可以使用index.html中的下面代码。这段代码将从URL获取查询参数,并将其设置为组件的启动参数。
在独立索引页中传递查询参数(可选)
..... .....