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用于管理页面导航栈,获取页面跳转时传递的参数可以通过NavDestinationarguments属性实现。假设你从页面A跳转到页面B,并传递了参数,你可以在页面B的onPageShow生命周期方法中获取这些参数。

首先,在页面A跳转时,使用NavPathStackpush方法传递参数:

let params = {
  key1: 'value1',
  key2: 'value2'
};
NavPathStack.push({
  uri: 'pages/PageB',
  params: params
});

在页面B中,通过NavDestinationarguments属性获取传递的参数:

onPageShow() {
  let navDestination = NavPathStack.getCurrentDestination();
  if (navDestination && navDestination.arguments) {
    let params = navDestination.arguments;
    console.log('Received params:', params);
  }
}

这样,你就可以在页面B中获取到从页面A传递过来的参数。

在HarmonyOS鸿蒙Next中,获取NavPathStack页面跳转时传递的参数可以通过以下步骤实现:

  1. 定义参数:在跳转页面时,使用NavPathStackpush方法传递参数。

    NavPathStack.push(this, new NavPath("TargetPage", "key", "value"));
    
  2. 接收参数:在目标页面的onPageShow方法中,通过NavPath获取参数。

    [@Override](/user/Override)
    protected void onPageShow(NavPath navPath) {
        String value = navPath.getParam("key");
    }
    

通过这种方式,可以轻松获取页面跳转时传递的参数。

回到顶部