uniapp中使用 uni.navigateBack() 返回上级页面并传参

uni.navigateBack() 返回上级页面并传参

需求:在A页面中通过跳转到B页面,在B页面中处理的数据,需要跳转回A页面供其使用

方法:

  • 在B页面的跳转事件中

    1. 使用 getCurrentPages() 详情见官方文档

      获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面

    2. 获得上个页面实例

    3. 给上个页面实例绑定方法和参数

    4. 返回上一页面

    代码展示:

     // 返回A页
     goPageA(idx){
         // 1. 获取当前页面栈实例(此时最后一个元素为当前页)
         let pages = getCurrentPages() 
         
         // 2. 上一页面实例
         	// 注意是length长度,所以要想得到上一页面的实例需要 -2
         	// 若要返回上上页面的实例就 -3,以此类推
         let prevPage = pages[pages.length -2] 
         
         // 3. 给上一页面实例绑定getValue()方法和参数(注意是$vm)
         prevPage.$vm.getValue(this.list) 
         
         // 4. 返回上一页面
         uni.navigateBack({
             delta: 1 // 返回的页面数
         })
     }
    

  • 在A页面中使用刚刚绑定的getValue()方法接收B页面传递的数据

    getValue(list){
        console.log(list,'B页面传递的数据')
    }
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值