UniApp页面返回时传递参数
小于 1 分钟
UniApp页面返回时传递参数
例如淘宝选择收货地址,先从订单(A)页面跳转到地址(B)页面,在 B 页面选中然后返回并携带地址返回订单(A)页面
A 页面
// vue2语法
// 1、在data中声明一个储存用的字段,例如address
// 2、methods中声明一个方法
getValue(e) {
// e就是B页面传递过来的参数
this.address = e
}
B 页面
select(address) {
// 1. 获取当前页面栈实例(此时最后一个元素为当前页)
let pages = getCurrentPages()
// 2. 上一页面实例
// 注意是length长度,所以要想得到上一页面的实例需要 -2
// 若要返回上上页面的实例就 -3,以此类推
let prevPage = pages[pages.length - 2]
// 3. 给上一页面实例绑定getValue()方法和参数(注意是$vm)
prevPage.$vm.getValue(address)
// 4. 返回上一页面
uni.navigateBack({
delta: 1 // 返回的页面数
})
}