微信小程序返回上一页的各种方法
1. navigator
这是最常见的一种跳转方式,相当于html里的a标签。但需要注意的是 该方法不能跳转tabbar页面,保留当前页面,在wxml使用
<navigator url=".路径">
内容
</navigator>
2. wx.navigateTo
通过构造js函数,在函数中调用该接口可实现页面跳转的效果。但该接口同样不能跳转tabbar页面,跳转后左上角有返回小箭头,点击可返回原本页面。保留当前页面,在js使用
wx.navigateTo({
url: '路径',
success: function () { },
fail: function () { }
})
3. wx.redirectTo
关闭当前页面,跳转到应用内的某个页面(不能跳转tabbar页面)。类似于html中的 window.open(‘…’);
跳转后左上角出现返回小箭头,点击后可返回原本页面。不保留当前页面,在js使用
wx.redirectTo({
url: '路径',
success: function () { },
fail: function () { }
})
4. wx.switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面;该方法只能跳转tabbar页面,不保留当前页面,跳转到tabBar页
wx.switchTab({
url: '路径',
success: function () { },
fail: function () { }
})
5. wx.reLaunch
关闭所有页面,打开到应用内的某个页面,左上角不会出现返回箭头
wx.reLaunch({
url: '/pages/index/index',
})
6. navigateBack
省略去写路径
wx.navigateBack({
delta: 1
});
注意
在具体的业务场景中,当在子页面B中用户进行数据修改和表单提交之后,返回到父页面A中时,希望A获取到的相关数据能够更新,但是小程序的对wx.navigatorTo()的生命周期的安排不会再去获取数据,要想页面A强制刷新,则在A的onShow函数中强制发请求再执行获取数据的方法