小程序進入下一頁或者返回上一頁如何傳參

使用 wx.navigateTo 進行路由跳轉。保留當前頁面,跳轉到應用內的某個頁面,無法跳轉至 tabbar  頁面。使用 wx.navigateBack 可以返回到原頁面。

wx.navigateTo({
  url: '../base-contact/base-contact?info=' + JSON.stringify(this.data.obj),
})

在下一個頁面的 onload 裏通過 option 可以獲取從上一個頁面傳遞過來的參數。

onLoad: function (options) {
  let data = JSON.parse(options.info)
  console.log(data)
},

使用 wx.navigateBack 關閉當前頁面,返回上一頁面或者多級頁面時,如何向上一個頁面傳遞參數呢?

這裏首先通過 getCurrentPages 獲取當前的頁面棧。通過 setData() 方法,把數據傳遞到要跳轉的頁面中去。

let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
prevPage.setData({
  message: '傳遞給上一個頁面的數據',
})
wx.navigateBack({
  delta: 1,
})

我們只需要在上一頁面的 onShow 生命週期中獲取參數。

let pages = getCurrentPages();
let currPage = pages[pages.length - 1]; //當前頁面
let json = currPage.data.message;
if(json != undefined) { //判斷傳過來的值
  // 邏輯處理
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章