方案1:
将B页面中的值传回给A页面
A页面
onShow(){ var pages = getCurrentPages(); var prevPage = pages[pages.length - 1]; var brand = prevPage.brand; console.log(brand) },
B页面
chooseBrand(item){ var item = item; //item为要传的值 var pages = getCurrentPages(); var prevPage = pages[pages.length - 2]; prevPage.brand = item; uni.navigateBack() }
方案2:
在B页面选中任一个单选按钮需要传递参数的方法内:
selectAddress(id) { let pages = getCurrentPages() // 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。 let prevPage = pages[pages.length - 2] //上一页页面实例 uni.navigateBack({ delta:1, success:() => { prevPage.$vm.otherFun(id) // 给上一页绑定方法otherFun,传参地址id } }) },
在A页面使用otherFun()接受B页面的传值
otherFun(id) { console.log('======id======', id) if (id) { for (let i = 0; i < this.addressList.length; i++) { if (id == this.addressList[i].id) { this.checkAddressId = id this.form.de_id = id this.address = this.addressList[i].region + this.addressList[i].address } } } }, //因为A页面请求了地址列表接口,取了默认地址作为展示; //所以对于上个页面传过来id值,需要循环地址列表,如果地址列表接口 有这个id,就可以赋值了