小程序虽然是一个页面跳一个页面,但不是只有wx.navigateTo这种,wx.navigateTo是有左上角返回的按钮的,用户点击可以返回上一页,如果表单数据也用wx.navigateTo跳转的话,到了提交成功页面,点击左上角返回,会跳转上以页面提交的信息那里,用户提交成功后是不能返回后看到这个信息
使用wx.redirectTo(关闭当前页面,跳转到应用内的某个页面)可以解决上述该问题
一定要看清楚具体哪个页面跳转哪里,我之前页面写过wx.redirectTo,但是点击返回还是出现历史填过的信息,后来我把它放在点击提交信息的js函数里(数据发送成功,跳转成功页面)
附加知识点:
微信提供5种跳转方式
1、wx.navigateTo//保留当前页面,跳转到应用内的某个页面
2、wx.redirectTo //关闭当前页面,跳转到应用内的某个页面。
3、wx.switchTab //跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
4、wx.navigateBack //关闭当前页面,返回上一页面或多级页面。
5、wx.reLaunch //关闭所有页面,打开到应用内的某个页面。
在做返回的功能时,注意navigateBack不会调用onload方法。可以把onload换成onShow方法,每次加载页面时会自动调用onShow方法
//解决方法 :用navigateBack跳转不用考虑页面传参问题,直接setData就好
var pages = getCurrentPages(); //获取当前页面
var prePage = pages[pages.length - 2]; //获取上一页面
prePage.setData({
'search.page': 1 //给上一页面的变量赋值
})
prePage.getPageData(); //调用上一页面的方法(加载数据)
wx.navigateBack({ //返回上一页面
delta: 1,
})