在微信小程序中,页面跳转可以通过以下几种方法实现:
wx.navigateTo
功能:保留当前页面,跳转到应用内的某个页面。
参数:
`url`:要跳转的页面路径,可以是相对路径或绝对路径。
`success`:成功后的回调函数。
`fail`:失败后的回调函数。
`complete`:结束后的回调函数(无论成功或失败都会执行)。
示例:
```javascript
wx.navigateTo({
url: '../test/test?id=1&page=4',
success: function(res) {
console.log(res);
},
fail: function(err) {
console.error(err);
},
complete: function() {
console.log('跳转完成');
}
});
```
wx.redirectTo
功能:关闭当前页面,跳转到应用内的某个页面。
参数:
`url`:要跳转的页面路径。
`success`:成功后的回调函数。
`fail`:失败后的回调函数。
`complete`:结束后的回调函数(无论成功或失败都会执行)。
示例:
```javascript
wx.redirectTo({
url: '/pages/index/index',
success: function(res) {
console.log(res);
},
fail: function(err) {
console.error(err);
},
complete: function() {
console.log('跳转完成');
}
});
```
wx.switchTab
功能:跳转到新的tabBar页面,并关闭其他所有非tabBar页面。
参数:
`url`:要跳转的tabBar页面路径。
`success`:成功后的回调函数。
`fail`:失败后的回调函数。
`complete`:结束后的回调函数(无论成功或失败都会执行)。
示例:
```javascript
wx.switchTab({
url: '/pages/tab2/tab2',
success: function(res) {
console.log(res);
},
fail: function(err) {
console.error(err);
},
complete: function() {
console.log('跳转完成');
}
});
```
wx.navigateBack
功能:返回上一页面或多级页面。
参数:
`delta`:返回的页面数,默认为1,表示返回上一页。
示例:
```javascript
wx.navigateBack({
delta: 1,
success: function(res) {
console.log(res);
},
fail: function(err) {
console.error(err);
},
complete: function() {
console.log('返回完成');
}
});
```
wx.reLaunch
功能:关闭所有页面,打开到应用内的某个页面。
参数:
`url`:要跳转的页面路径。
`success`:成功后的回调函数。
`fail`:失败后的回调函数。
`complete`:结束后的回调函数(无论成功或失败都会执行)。
示例:
```javascript
wx.reLaunch({
url: '/pages/index/index',
success: function(res) {
console.log(res);
},
fail: function(err) {
console.error(err);
},
complete: function() {
console.log('重定向完成');
}
});
```
建议
选择合适的跳转方法:根据具体需求选择合适的跳转方法,例如需要保留当前页面时,使用`wx.navigateTo`;需要关闭当前页面并跳转到其他页面时,使用`wx.redirectTo`;需要跳转到tabBar页面时,使用`wx.switchTab`;需要返回上一页或多级页面时,使用`wx.navigateBack`;需要完全重新加载页面时,使用`wx.reLaunch`