在寫業務的時候,我們有時候會遇到這樣的場景:從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,這樣就解決了
