row-click事件给当前页面路由加参数,不跳转,只要一点击报错堆栈溢出,很烦

vue-router.esm.js:1282 Uncaught RangeError: Maximum call stack size exceeded
    at RegExp.exec (<anonymous>)
    at RegExp.[Symbol.match] (<anonymous>)
    at String.match (native)
    ......

尝试了两种方式
方式一

this.$router.push({
  path: '/testA',
   query: {
     userId: “222”
   }
 });

方式二

this.$router.push({
  name:'testA',
   params:{
     id: "9998"
   }
 })

用params虽然不报堆栈溢出错误,但是当前页面通过 this.$route.query.params.id,不能获取到值,如果是跳转到另一个页面,用方式二是不报错的,并且也能获取到值。
最后修改了定义路由的方式,问题就解决了。之前的定义和修改后的定义如下:

之前的定义

{
  path: 'testA',
  component: () => import('@/views/test/testA'),
  name: 'testA',
  meta: { title: 'testA', noCache: true }
},

修改后的定义

{
  path: '/testA',
  name: 'testA',
  component: resolve => require(['@/views/test/testA.vue'], resolve),
  meta: { title: 'testA', noCache: true }
},
Logo

前往低代码交流专区

更多推荐