vue火狐浏览器中路由跳转报错“invalid regexp group”

发布于 2022-09-12 00:49:27 字数 2014 浏览 24 评论 0

项目中在谷歌浏览器运行很正常,但在火狐浏览器中运行就会报错。

this.$router.push({
    name: 'envDetail',
    query: {
        envId: '123123'
    }
})

这个是route.js里这个路由的部分

{
        path: '/env',
        component: () => import('viewsPath/envs/index.vue'),
        children: [
          {
            path: 'envInfo',
            component: () => import('viewsPath/envs/envInfo/index.vue'),
            children: [
              {
                path: 'envDetail',
                name: 'envDetail',
                component: () => import('viewsPath/envs/envInfo/envDetail.vue'),
              },
            ],
          },

以下是错误现象
豆芽图片20200122171426940.png
一开始我以为是name参数的问题,我又改成了使用

this.$router.push({
    path: '/env/envInfo/envDetail',
    query: {
        envId: '123123'
    }
})

但是无效。
然后我又改成了

const { href } = this.$router.push({
    path: '/envDetail',
    query: {
        envId: '123123'
    }
});
window.open(href);

依旧无效。
有一个奇怪的地方是另一个页面的路由跳转采用了第一种方式,并没有报错,这个是正常的路由

this.$router.push({
    name: 'adminAuth',
    query: {
        sysId: '1111',
        sysName: 'xxxxx'
    }
});

这个是route.js里这个路由的部分

{
        path: '/auth',
        name: 'auth',
        component: () => import('viewsPath/auth/index.vue'),
        redirect: '/auth/adminAuth',
        children: [
          {
            path: 'adminAuth',
            name: 'adminAuth',
            component: () => import('viewsPath/auth/adminAuth.vue'),
          },
          {
            path: 'sysAuth',
            name: 'sysAuth',
            component: () => import('viewsPath/auth/sysAuth.vue'),
          },
        ],
      },

这两个路由唯一的区别就是层级,产生错误的路由是一个三层级的子路由,正确的是二层级的子路由。我以为是这个原因导致,所以将路由envDetail修改成了一层和两层都尝试了一下,结果仍旧报错。
页面逻辑里也都没有关于正则匹配的地方。
所以 有没有人遇到过类似的问题,或者能够提供一些解决的思路。谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文