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页面传递的数据')
    }
    

猜你喜欢

转载自blog.csdn.net/Joye_7y/article/details/125648530