HarmonyOS 鸿蒙Next中如何获取NavPathStack页面跳转时传递的参数?
HarmonyOS 鸿蒙Next中如何获取NavPathStack页面跳转时传递的参数?
通过 this.pageStack.pushPathByName('Webview', data, true)
跳转到Webview页面,那么在Webview页面怎么拿到传递的data?
4 回复
.onReady((ctx: NavDestinationContext) => {
try {
let bean = (ctx.pathInfo.param as SceneInForBean);
} catch (e) {
MyLogUtils.printInForLog(`catch exception: ${JSON.stringify(e)}`)
}
})
更多关于HarmonyOS 鸿蒙Next中如何获取NavPathStack页面跳转时传递的参数?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
param: {“key”: “value”}
在HarmonyOS中,NavPathStack用于管理页面导航栈,获取页面跳转时传递的参数可以通过NavDestination的arguments属性实现。假设你从页面A跳转到页面B,并传递了参数,你可以在页面B的onPageShow生命周期方法中获取这些参数。
首先,在页面A跳转时,使用NavPathStack的push方法传递参数:
let params = {
key1: 'value1',
key2: 'value2'
};
NavPathStack.push({
uri: 'pages/PageB',
params: params
});
在页面B中,通过NavDestination的arguments属性获取传递的参数:
onPageShow() {
let navDestination = NavPathStack.getCurrentDestination();
if (navDestination && navDestination.arguments) {
let params = navDestination.arguments;
console.log('Received params:', params);
}
}
这样,你就可以在页面B中获取到从页面A传递过来的参数。
在HarmonyOS鸿蒙Next中,获取NavPathStack页面跳转时传递的参数可以通过以下步骤实现:
-
定义参数:在跳转页面时,使用
NavPathStack的push方法传递参数。NavPathStack.push(this, new NavPath("TargetPage", "key", "value")); -
接收参数:在目标页面的
onPageShow方法中,通过NavPath获取参数。[@Override](/user/Override) protected void onPageShow(NavPath navPath) { String value = navPath.getParam("key"); }
通过这种方式,可以轻松获取页面跳转时传递的参数。

