微信小程序 navigate页面跳转问题解决方案(二)
在微信小程序开发的过程当中 经常碰到一些带逻辑的一些事情 就比如 新增地址 修改地址 筛选用户条件等页面的时候 我们也可以用wx.navigateTo来跳转实现 但其中有很多问题
1.微信的十层跳转 当你用navigateTo跳转的时候跳转十次的时候就跳不动了
2.参数的传递 我们在用navigateTo跳转的时候通常带着参数来跳 试想一下 如果我们一种这么跳 那么携带的参数越来越多 这不是开发的一个好事情
所以在以上的问题上我们可以用navigateback来实现 既仅携带本次跳转用的参数即可 并且速度会很快 因为不需要再次加载onLoad函数 写起来也会方便很多 话不多说 上代码
一、假如我们此时在筛选用户条件的页面上 经过我们一系列实现后准备跳回上一个页面的时候
let pages = getCurrentPages();//当前页面 (pages就是获取的当前页面的JS里面所有pages的信息)
let prevPage = pages[pages.length - 2];//上一页面(prevPage 就是获取的上一个页面的JS里面所有pages的信息)
prevPage.setData({
state:1,
searchContent: this.data.searchContent,
regionName: this.data.regionName,
industryId: this.data.classifySelc,
districtId: this.data.selectArea,
businessDistrictId: this.data.selectTrading,
restaurantCategoryId: this.data.selectShop
}) //以上就是我回到上个页面所要携带的所有参数 如果我们用navigateTo来跳转的话 试想一下 那个跳转地址会写多长
wx.navigateBack({
delta: 1,
}) //回到上一个页面 仅适用于用navigateTo跳转过来的页面
二、在我们的主页面上 即上一个页面 这么几个步骤
1.在页面的data里面设置接收上个页面传过来的参数的变量
data:{
state:0
} //这个state就是接收的上个页面传过来的state:1这个参数 此时你的页面data里面的state的参数就变成了1
2.
let pages = getCurrentPages();