【发布时间】:2022-10-02 05:07:38
【问题描述】:
你好,
我们面临使用路由传递可选参数的问题。 当应用在 BTP 上而不是 Prem 上运行时,参数会传递到另一个视图。
路由定义如下:
{
name: \"routname\",
pattern: \"thisisname/{mandaroty1},{mandatory2}/:?optional:\",
target: [\"targetName\"]
}
这就是我导航的方式:
oRouter.navTo(\"routname\", {
mandatory1: \"test\",
mandatory2: \"test2\",
\"?optional\": {
optional1: \"value1\",
optional2: \"value2\"
}
});
在目标视图中: 在 onInit 中:
var oRouter = this.getRouter();
oRouter.getRoute(\"shapeIT\").attachPatternMatched(this._onRouteMatched, this);
在 _onRouteMatched 中:
_onRouteMatched: function (oEvent) {
var oArgs = oEvent ? oEvent.getParameter(\"arguments\") : null;
console.log(oArgs);
}
在 onPrem 的控制台中,我看到如下:
{
mandatory1: \"test\",
mandatory2: \"test2\",
\"?optional\": undefined
}
在 BTP 上,我看到了所有值。
我想念什么?
-
本地应用运行的是哪个 SAPUI5 版本?您可以通过按[Ctrl]+[Shift]+[Left-Alt]/[Left-Option]+[P] 找到它。
-
应用程序是否在 FLP shell 中运行?如果它在没有 FLP 的情况下独立运行,问题是否可重现?
标签: sapui5