使用 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) { //判斷傳過來的值
// 邏輯處理
}