vue火狐浏览器中路由跳转报错“invalid regexp group”
项目中在谷歌浏览器运行很正常,但在火狐浏览器中运行就会报错。
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'),
},
],
},
以下是错误现象
一开始我以为是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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论