页面不跳转
页面不跳转
项目信息 | 详细信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Mac |
PC开发环境版本号 | 15.2 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.7.11 |
手机系统 | iOS |
手机系统版本号 | iOS 15 |
手机厂商 | 苹果 |
手机机型 | iPhone12 ,iPhone XR |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 离线 |
项目创建方式 | HBuilderX |
示例代码:
uni.redirectTo({
url: "/pages/detail-cert?id=1",
fail: (error) => {
uni.showToast({
title: "跳转失败" + error,
icon: 'error'
})
}
})
操作步骤:
uni.redirectTo({
url: "/pages/detail-cert?id=1",
fail: (error) => {
uni.showToast({
title: "跳转失败" + error,
icon: 'error'
})
}
})
预期结果:
uni.redirectTo({
url: "/pages/detail-cert?id=1",
fail: (error) => {
uni.showToast({
title: "跳转失败" + error,
icon: 'error'
})
}
})
实际结果:
跳转失败"
bug描述:
iPhone 13 手机os 15.6 iPhone XR 手机os 13 在APP 启动 点击操作 页面栈的深度达到4后..页面点击不跳转. 返回首页 点击按钮也不跳转. 点击导航也不跳转
1 回复
从描述来看,这个问题可能是iOS平台上页面栈深度限制导致的。以下是可能的原因和解决方案:
- iOS平台对页面栈深度有限制,超过10层后可能导致跳转失败。建议在跳转前检查当前页面栈深度:
if(getCurrentPages().length >= 10){
uni.redirectTo({url}) // 使用redirectTo替换navigateTo
}
-
检查路由配置是否正确,确保"/pages/detail-cert"路径在pages.json中有正确定义。
-
建议在fail回调中打印完整错误信息:
fail: (error) => {
console.log('跳转错误详情:', error)
uni.showToast({
title: "跳转失败" + JSON.stringify(error),
icon: 'error'
})
}
- 可以尝试使用reLaunch方法重置页面栈:
uni.reLaunch({
url: "/pages/detail-cert?id=1"
})