try {
await router.redirectTo(back_url);
} catch (error) {
console.log('Redirect error:', error); // 打印错误信息
console.log('Attempting to switch tab to:', back_url); // 打印 URL
try {
const res = await uni.switchTab({url:back_url});
console.log(res); // 打印成功信息
} catch (switchError) {
console.log('Switch tab error:', switchError); // 打印错误信息
}
}

- 发布:2024-07-19 09:04
- 更新:2024-07-19 09:39
- 阅读:181
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.23
第三方开发者工具版本号: 1.06.24
基础库版本号: 3.5
项目创建方式: HBuilderX
示例代码:
操作步骤:
try {
await router.redirectTo(back_url);
} catch (error) {
console.log('Redirect error:', error); // 打印错误信息
console.log('Attempting to switch tab to:', back_url); // 打印 URL
try {
const res = await uni.switchTab({url:back_url});
console.log(res); // 打印成功信息
} catch (switchError) {
console.log('Switch tab error:', switchError); // 打印错误信息
}
}
try {
await router.redirectTo(back_url);
} catch (error) {
console.log('Redirect error:', error); // 打印错误信息
console.log('Attempting to switch tab to:', back_url); // 打印 URL
try {
const res = await uni.switchTab({url:back_url});
console.log(res); // 打印成功信息
} catch (switchError) {
console.log('Switch tab error:', switchError); // 打印错误信息
}
}
预期结果:
应该正常跳转
应该正常跳转
实际结果:
无法跳转至tabbar页面
无法跳转至tabbar页面
bug描述:
当使用redirectTo跳转一个tabbar页面时 会抛出异常 此时再使用SwitchTab方法进行跳转 不会出现错误提示 但是成功的回调信息却是
error: Avoided redundant navigation to current location
注意使用wx原生的SwitchTab是可以正常跳转的
青城山下白吉馍 (作者)
代码只是拷贝的 封装的就是uni的redirectTo 改成uni的也是一样的。 重点不是这个问题, 问题是先调用redirectTo 再调用switchTab 就出先这种问题。 直接使用switchTab 当然没问题
2024-07-19 09:47
青城山下白吉馍 (作者)
用小程序的wx.switchTab 是可以正常跳转的。明显是uniapp 底层维护的数据出错了,redirectTo失败了,他底层确认为是跳转成功了,所以他维护的当前页面数据成了跳转的那个tabbar页
2024-07-19 09:51