小程序 使用navigateBack返回携带参数
在写业务的时候,我们有时候会遇到这样的场景:从a页面跳转到b页面,然后需要再从b页面返回到a页面;并携带一些数据回来。
这个时候通常我们会使用到
wx.navigateBack
但是由于navigateBack无法直接携带参数;传参就需要另想办法了
当然实现的方法有很多;这里要说的是通过setData的方式实现
b页面代码
// 选定当前店铺 changeShopfn: function (e) { console.log(e) let shopinfo = e.currentTarget.dataset.item; console.log(shopinfo) let pages = getCurrentPages();//获取页面栈 let prevPage = pages[pages.length - 2]; //上一个页面 //直接调用上一个页面的setData()方法,把数据存到上一个页面中去 prevPage.setData({ mydata:shopinfo }) wx.navigateBack({ delta: 1, }) },
a页面代码
onShow: function () { let pages = getCurrentPages(); let currPage = pages[pages.length - 1]; //当前页面 console.log(currPage.data.mydata) let shopList=currPage.data.mydata; if(shopList){ this.setData({ shopList }) } },
ok,这样就解决了