uni-app
uni-app copied to clipboard
H5环境,从当前页面通过手动修改url地址的方式回到上一个页面,onShow里获取页面栈不正确
问题描述
vue3 H5 环境下
- 运行npm run dev:h5,打开首页(http://localhost:3000/#/)
- 点击一个按钮通过uni.navigateTo到sub1页面(http://localhost:3000/#/pages/index/sub1)
- 在浏览器地址栏中,手动修改url地址到首页【要带上hash】(http://localhost:3000/#/)
- 首页(src/pages/index/index.vue)文件中的onShow生命周期使用getCurrentPages分别同步打印当前页面栈和通过setTimeoue异步打印当前页面栈
- 打印结果不同,同步打印的页面栈仍然是上个页面的,通过setTimeout异步打印才正确,(promise异步打印也不正确)

预期结果 在onShow情况下,同步和异步打印出的页面栈应该一致
实际结果 在onShow情况下,同步和异步打印出的页面栈不一致,同步打印出的是上一次的页面栈
系统信息:
- 发行平台: H5
- 操作系统: win11 crhome
- uni-app版本 3.0.0-alpha-3050320220729001
测试项目源码 new-uni-vue3.zip