微信小程序返回上一页的各种方法

1. navigator

这是最常见的一种跳转方式,相当于html里的a标签。但需要注意的是 该方法不能跳转tabbar页面,保留当前页面,在wxml使用

<navigatorurl=".路径">内容</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函数中强制发请求再执行获取数据的方法