uniapp,小程序端返回上一页并传递参数

使用场景:

从A页面跳到B页面,在数据操作后要返回A页面(使用uni.navigateBack()返回),

要求:

携带参数返回A页面,不使用链接带参数返回,不用使用缓存:uni.setStorageSync()储存数据等情况下怎么传递参数

可使用解决方案:

方法一:使用getCurrentPages() 函数获取上一页面栈的实例,可使用$vm调用A页面方法传递参数(h5端可用)

                   //A页面
                   let pages = getCurrentPages();
					let prevPage = pages[pages.length - 2]; //上一个页面
					prevPage.$vm.backUpdatePages({//调用A页面的backUpdatePages方法传参
						isUpdatePages: true
					})
				
					uni.navigateBack();
					//B页面
					methods: {
					backUpdatePages(obj){
					console.log('===========obj', obj)
					}
					}
				

方法二:使用getCurrentPages() 函数获取上一页面栈的实例,A页面的onShow()传递参数(h5端不可用)

                   //A页面
                   let pages = getCurrentPages();
					let prevPage = pages[pages.length - 2]; //上一个页面
					prevPage.onShow({//调用A页面的onShow()传参
						isUpdatePages: true
					})
				
					uni.navigateBack();
					//B页面
					onShow(option) {
					//调用用prevPage.onShow传参,A页面onshow会执行两次,
					//第一次调用prevPage.onShow()执行一次会携带参数,
					//页面的生命周期onShow执行一次没有参数

					console.log('===========option', option)
					}	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值