Vue路由传递获取参数

时间:2021-11-08 17:47:44

通过Vue传递参数可以分为两种方式:

  • params参数
  • query参数

params参数

params参数传递方式分两种:

  • 路由配置参数
  • 使用$router的push编程式添加

路由配置参数

在路由中配置如下:

{
  path: '/user/:id',
  name: 'user',
  component: UserDetail
}

:id为路径里的参数。传递参数:

this.$router.push({path: `/user/${id}`})

router.push添加params参数

路由配置:

{
  path: '/user',
  name: 'user',
  component: UserDetail
}

传递参数

this.$router.push({
         name: 'user',
          params: {
            id: id
          }
        })

这里需要注意的是:这种方式传递参数,push的对象只能是命名的路由。如果push的配置对象使用path,那么params参数会被忽略。

获取参数

不管是在路由配置params参数还是通过router.push()编程式传递参数,这些参数都是可以通过params来获取。

this.$router.params.id

查询参数

查询参数类似于在路径上添加查询字符串:

/user?id=123

传递参数

this.$router.push({
          path: '/user',
          query: {
            id: id
          }
        })

获取参数

使用查询参数传递参数,需要使用router.query来获取参数。

$route.query.id