使用 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) { //判断传过来的值
// 逻辑处理
}