欢迎入坑
在微信小程序开发中,跳转的页面,常用的方法有
wx.navigateTo 跳转子页面,不关闭上级页面,小程序页面较少时建议使用,因为会有级数限制,最多跳转五级页面 。
wx.redirectTo 跳转子页面,关闭上级页面,很好的解决 wx.navigateTo的级数限制问题。但是重新进入时需要重新加载。
wx.reLaunch 跳转页面,关闭所有内存页面。
在开发是很多情况是使用wx.navigateTo跳转到二级三级页面时,需要实现关闭当前页面返回到跳转首页,并且携带参数。有很多说使用onShow()方法,但是这个方法不仅返回页面时加载,进入时也会加载,就会有些鸡肋,所有可以使用
toPage: function () {
//获取当前页面栈
const pages = getCurrentPages();
// n 为获取往前几页栈2为上一页
const prevPage = pages[pages.length - n];
const docList = 参数;
prevPage.setData({
目标页面栈参数名: docList
});
}
},
这样即可返回页面时传递参数
也可以
toPage: function () {
let pages = getCurrentPages();
let prevPage = pages[pages.length - n];
prevPage.目标页面方法名(参数);
}
这样就可以在目标页面获取参数,也可以调用目标页面方法了,可以传固定参数配合onShow()使用。