使用this.$route.params接收的参数为undefined

问题:

使用this.$router.push跳转页面并用params方式传参,能够跳转页面但是使用this.$route.params接收的参数为undefined

 

原因:

在传参的页面中的this.$router.push使用了path而不是name,因为params只能用name来引入路由,不然接收参数会出现undefined

 

错误用法:

methods:{
  jump (){
    this.$router.push({path: '/xxx/login',params:{ id:'1'}});

  }

}

 

正确用法:

methods:{
  jump (){
    this.$router.push({name: 'login',params:{ id:'1'}});

  }

}

 

这里的name指路由中的name,比如路由中是:

{
title: '登录',

path: '/xxx/login',

name: 'login',

component: () => import('@/xxx/xxx/xxx')

}

那么name就是login

posted @ 2022-04-15 23:41  咖啡&牛奶  阅读(1226)  评论(0编辑  收藏  举报