HarmonyOS鸿蒙Next中router组件实现跳转问题咨询

HarmonyOS鸿蒙Next中router组件实现跳转问题咨询 我有一个跳转需求,使用如下方式

router.pushUrl({ 
  url: RouterPath.BLE_NETWORKING, 
  params: { 
    BleNetworkingKey.SN : this.deviceSeriesModel 
  } 
})

其中BleNetworkingKey.SN是我再跳转页维护的KEY public static readonly DEVICE_SERIES :string= ‘DEVICE_SERIES’

问题是并不能引用到这个KEY, 请问下如何使用我维护的路由传参KEY

当我路由跳转之后需要返回携带参数的时候,我必须在onPageShow{}中获取返回的数据。 请问有没有什么方式如android一样可以在router.pushUrl({}中设置回调,这样能更好的把跳转和返回数据处理合并到一处,清楚的知道当前的router.pushUrl({})是有参数返回的。


更多关于HarmonyOS鸿蒙Next中router组件实现跳转问题咨询的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

目前router中只有在onPageShow生命周期里,通过router.getParams()方法接受传来的参数。

params参数不能传递方法和系统接口返回的对象(例如,媒体接口定义和返回的PixelMap对象)。建议提取系统接口返回的对象中需要被传递的基础类型属性,自行构造object类型对象进行传递。

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-router-V13

更多关于HarmonyOS鸿蒙Next中router组件实现跳转问题咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)Next中,router组件用于实现页面之间的跳转。router提供了多种跳转方式,包括普通跳转、带参数的跳转、带返回值的跳转等。以下是一些常见的跳转实现方式:

  1. 普通跳转: 使用router.pushUrl方法实现页面跳转。示例代码如下:

    import router from '[@ohos](/user/ohos).router';
    router.pushUrl({ url: 'pages/NextPage' });
    
  2. 带参数的跳转: 通过params属性传递参数。示例代码如下:

    import router from '[@ohos](/user/ohos).router';
    router.pushUrl({ url: 'pages/NextPage', params: { id: 123, name: 'HarmonyOS' } });
    

    在目标页面中,可以通过router.getParams方法获取传递的参数:

    import router from '[@ohos](/user/ohos).router';
    let params = router.getParams();
    
  3. 带返回值的跳转: 使用router.pushUrl方法跳转,并在目标页面中通过router.back方法返回结果。示例代码如下:

    import router from '[@ohos](/user/ohos).router';
    router.pushUrl({ url: 'pages/NextPage' });
    

    在目标页面中返回结果:

    import router from '[@ohos](/user/ohos).router';
    router.back({ result: { success: true, message: '操作成功' } });
    

    在源页面中通过router.getResult方法获取返回结果:

    import router from '[@ohos](/user/ohos).router';
    let result = router.getResult();
    
  4. 替换当前页面: 使用router.replaceUrl方法替换当前页面。示例代码如下:

    import router from '[@ohos](/user/ohos).router';
    router.replaceUrl({ url: 'pages/NewPage' });
    
  5. 返回上一页面: 使用router.back方法返回上一页面。示例代码如下:

    import router from '[@ohos](/user/ohos).router';
    router.back();
    

以上是router组件在HarmonyOS Next中实现页面跳转的基本方法。具体使用时,可以根据实际需求选择合适的跳转方式。

在HarmonyOS鸿蒙Next中,router组件用于实现页面跳转。你可以使用router.push方法进行跳转,示例代码如下:

import router from '@ohos.router';

router.push({
  url: 'pages/YourPage'  // 目标页面的路径
});

router.push会将目标页面压入页面栈,用户可以通过返回按钮返回上一页。如果需要替换当前页面,可以使用router.replace。确保目标页面路径正确,并在config.json中配置了路由信息。

回到顶部