A页面:
uni.navigateTo({url:'B'})
B页面:
uni.navigateTo({url:'C'})
C页面
uni.relaunch({url:'D'})
D页面:
onshow(() => {
const pages = getCurrentPages()
console.log(pages.length)
})

- 发布:2025-03-27 11:08
- 更新:2025-03-27 17:30
- 阅读:47
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
手机系统: iOS
手机系统版本号: iOS 18
手机厂商: 苹果
手机机型: iphone12mini
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: CLI
CLI版本号: 5.0.8
操作步骤:
预期结果:
期望console.log中打印得到页面堆栈长度是1
期望console.log中打印得到页面堆栈长度是1
实际结果:
实际console.log中打印得到页面堆栈长度是4
实际console.log中打印得到页面堆栈长度是4
bug描述:
IOS中使用uni.relaunch跳转后,在目标页的onshow中使用getCurrentPages()获取当前页页面堆栈,期望获取到的是1,实际获取到的是之前所有的堆栈条数
1 个回复
骑猪o0o找牛 - 一挖一麻袋
它 好像 不是 立刻 就 销毁 其他 页面的,
你可以加个 setTimeout 试试看 , 延迟个 1秒啥的, 应该 长度 就是1了,
我是在 url 加上了 标志位, 标志 是否是 reLaunch ,