You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cross App Navigation重复跳转异常:首次正常后续自动返回根视图

问题分析与解决方案

你的问题核心是错误地将路由路径拼接进了action字段,导致Cross App Navigator重复跳转时解析异常。

问题根源

在你的代码中,action字段被设置为Display&/Details/${sProductCode},但action字段仅用于指定语义对象的动作名称(这里应该是Display),后续的&/Details/xxx属于目标应用的路由路径,不应该和action混在一起。首次跳转时Shell的解析逻辑可能临时兼容了错误格式,但重复跳转时,Navigator会严格解析action字段,截断&后的内容,最终只跳转到语义对象的根视图#Object-Display。

修正方案

方案1:拆分语义动作与路由参数(推荐)

将action设为纯动作名称,通过parameters传递路由路径(需目标应用支持该参数传递方式):

const sHash = oCrossAppNavigator.hrefForExternal({
  target: {
    semanticObject: "Object",
    action: "Display",
    parameters: {
      route: `/Details/${sProductCode}`
    }
  }
}) || "";

oCrossAppNavigator.toExternal({
  target: {
    shellHash: sHash
  }
});

方案2:直接构造完整Shell Hash

如果明确目标地址格式,可直接拼接完整的shellHash字符串,绕过hrefForExternal的解析逻辑:

const sShellHash = `#Object-Display&/Details/${sProductCode}`;
oCrossAppNavigator.toExternal({
  target: {
    shellHash: sShellHash
  }
});

额外说明

如果目标应用是SAP UI5应用,需确保其路由配置中存在/Details/{productCode}的路由规则,并且语义对象Object的Display动作已正确绑定到该路由,或者允许通过参数传递路由路径。

内容的提问来源于stack exchange,提问作者user19956344

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:12:44