应用场景
点击选择需要跳转到新的页面,在新的页面上选择成功后返回上一个页面,在把选择的结果渲染到上一个页面。
问题描述
微信小程序中返回上一个页面的API是 wx.navigateBack , 这个与 wx.navigateTo有所不同,前者没有 url 提供返回和携带参数,而后者可以在 url 后面携带参数并跳转。那么怎么在返回上一个的页面的同时携带参数回去?
解决方法
例子:A为父页面,B为子页面,B页面需要携带参数返回A页面
A页面
Page({
data: {
name:"张三"
},
test(){
console.log("A页面");
}
})
B页面
let pages = getCurrentPages(); // 获取当前的页面栈
let prevPage = pages[pages.length - 2];
prevPage.setData({
name: "李四" // 需要传递的值
})
prevPage.test(); // 调用 A页面的方法 输出:A页面
wx.navigateBack({
delta:1 //返回上一级页面
})
结果(A页面):
Page({
data: {
name:"张三"
},
test(){
console.log("A页面");
}
onShow(){
console.log("this.data.name"); // 李四
}
})