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