m***@163.com
m***@163.com
  • 发布:2024-08-28 16:53
  • 更新:2024-08-29 11:02
  • 阅读:183

【报Bug】App uni.redirectTo路由异常

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.24

浏览器平台: Chrome

浏览器版本: 127.0

项目创建方式: HBuilderX

操作步骤:

pageA(navigateTo)->pageB(redirectTo) ->pageA

预期结果:

路由栈只有一条pageA

实际结果:

路由栈pageA和pageB

bug描述:

vue3项目 H5和App都有出现
pageA(navigateTo)->pageB(redirectTo) ->pageA
此时getCurrentPages()有两条路由栈记录 附操作视频以及最小demo包

2024-08-28 16:53 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

你好,看起来你使用的是redirectTo,redirectTo是关闭当前页面,跳转到应用内的某个页面。页面并不是单实例,也就是你用redirectTo同navigatorTo一样会产生多个实例

  • m***@163.com (作者)

    但是vue3和vue2表现不一样,我如果用navigateBack返回需要点两次,我觉得这里是bug

    2024-08-28 17:31

  • m***@163.com (作者)

    按文档所说是关闭当前页面,vue2的处理会把当前关闭页面的路由栈也清除掉,vue3则不会 这不符合文档描述 也不符合直觉

    2024-08-28 17:33

m***@163.com

m***@163.com (作者)

这个是vue2的

DCloud_UNI_yuhe

DCloud_UNI_yuhe

感谢反馈,暂时确定为h5的vue2版本,有问题,vue3中的情况是正常的,以vue3那种情况为准。

  • m***@163.com (作者)

    啊?那我navigateBack返回咋返回 返回两层啊?

    2024-08-29 10:16

  • m***@163.com (作者)

    有问题吧哥 以vue3的为准 那我返回就乱了啊

    2024-08-29 10:16

  • DCloud_UNI_yuhe

    回复 m***@163.com: 你可以尝试使用relaunch来解决,redirectTo是会在跳转后产生新页面的

    2024-08-29 10:51

m***@163.com

m***@163.com (作者)

你看我这返回 我要点两次这正常吗?

m***@163.com

m***@163.com (作者)

navigateTo是保存页面 你才能入路由栈啊
redirectTo关闭页面 你路由栈不清楚我怎么玩儿?

m***@163.com

m***@163.com (作者)

好吧我理解了 是vue2的bug 这里vue3的表现是对的

  • DCloud_UNI_yuhe

    我看之前有很多这样的调整,可能之前redirectTo也存在其它getCurrentPages的问题,但最后选择这样肯定也是为了解决其它问题的

    2024-08-29 11:08

要回复问题请先登录注册