9***@qq.com
9***@qq.com
  • 发布:2022-08-21 00:45
  • 更新:2022-08-21 00:45
  • 阅读:188

【报Bug】H5环境,从当前页面通过手动修改url地址的方式回到上一个页面,onShow里获取页面栈不正确

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

浏览器平台: Chrome

浏览器版本: chrome 104.0.5112.81(正式版本) (64 位)

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3050320220729001

操作步骤:
  1. 运行npm run dev:h5,打开首页(http://localhost:3000/#/)
  2. 点击一个按钮通过uni.navigateTo到sub1页面(http://localhost:3000/#/pages/index/sub1)
  3. 在浏览器地址栏中,手动修改url地址到首页【要带上hash】(http://localhost:3000/#/)
  4. 首页(src/pages/index/index.vue)文件中的onShow生命周期分别同步打印当前页面栈和通过setTimeoue异步打印当前页面栈
  5. 打印结果不同,同步打印的页面栈仍然是上个页面的,通过setTimeout异步打印才正确,(promise异步打印也不正确)

预期结果:

在onShow情况下,同步和异步打印出的页面栈应该一致

实际结果:

在onShow情况下,同步和异步打印出的页面栈不一致,同步打印出的是上一次的页面栈

bug描述:

vue3 H5 环境下

  1. 运行npm run dev:h5,打开首页(http://localhost:3000/#/)
  2. 点击一个按钮通过uni.navigateTo到sub1页面(http://localhost:3000/#/pages/index/sub1)
  3. 在浏览器地址栏中,手动修改url地址到首页【要带上hash】(http://localhost:3000/#/)
  4. 首页(src/pages/index/index.vue)文件中的onShow生命周期分别同步打印当前页面栈和通过setTimeoue异步打印当前页面栈
  5. 打印结果不同,同步打印的页面栈仍然是上个页面的,通过setTimeout异步打印才正确,(promise异步打印也不正确)
2022-08-21 00:45 负责人:无 分享
已邀请:

要回复问题请先登录注册