应用场景:
微信小程序中,从第二个页面 B ,点击左上角的箭头或者执行 wx.navigateBack 返回第一个页面 A 时,要修改第一个页面 A 的数据。
方法:
直接在 B 中修改 A 页面的参数
- B 的传参:wx.navigateBack({}) 是不能通过 url 后面拼接参数的形式传参的
- 从页面栈中获取到 A 页面,通过调用 A 页面的 setData 方法来修改 A 的 data 中的数据,修改完之后再返回到上一个页面
实现:
const allPages = getCurrentPages(); // 获取页面栈中所有的页面数组
const page = allPages[allPages.length - 2]; // 获取上一个页面
page.setData({
name_state: true, // 修改参数
});
wx.navigateBack({
detail: 1,
});