HarmonyOS 鸿蒙Next使用Navigation页面传参问题

HarmonyOS 鸿蒙Next使用Navigation页面传参问题 使用navigation 跳转多个页面, A——B——C,A——D——C,使用param 携带参数传递,其中有个参数 之前是传递的一个消息,现在要传递多个消息,若使用消息的数组,需要适配多个页面的修改,有没有其他更好的方案,能将A页面传递传到C页面去处理,不需要做太多页面的修改

3 回复

传的是多条消息内容,是用的数组吗,有可能内容有点大,有没有好的方案

更多关于HarmonyOS 鸿蒙Next使用Navigation页面传参问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,使用Navigation进行页面传参时,可以通过ohos.router模块的Router对象来实现。具体步骤如下:

  1. 定义路由参数:在目标页面的onPageShow生命周期方法中,通过params对象获取传递的参数。例如:

    onPageShow() {
        let params = this.params;
        if (params && params.key) {
            console.log("Received param: " + params.key);
        }
    }
    
  2. 传递参数:在跳转页面时,使用Router.push方法,并传入目标页面的路径和参数对象。例如:

    Router.push({
        uri: "pages/TargetPage",
        params: { key: "value" }
    });
    
  3. 处理返回参数:如果需要从目标页面返回参数,可以在目标页面使用Router.back方法,并传入返回的参数。例如:

    Router.back({
        result: { key: "returnValue" }
    });
    
  4. 接收返回参数:在源页面的onPageShow生命周期方法中,通过params对象获取返回的参数。例如:

    onPageShow() {
        let params = this.params;
        if (params && params.key) {
            console.log("Returned param: " + params.key);
        }
    }
    

通过以上步骤,可以在鸿蒙Next中实现页面之间的参数传递与返回。

回到顶部