Vue路由传参

方案一:

  getDescribe(id) {//   直接调用$router.push 实现携带参数的跳转
    this.$router.push({
      path: `/describe/${id}`,
    })

方案一,需要对应路由配置如下:
{
path: ‘/describe/:id’,
name: ‘Describe’,
component: Describe
}
很显然,需要在path中添加/:id来对应 r o u t e r . p u s h 中 p a t h 携 带 的 参 数 。 在 子 组 件 中 可 以 使 用 来 获 取 传 递 的 参 数 值 。 t h i s . router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值。 this. router.pushpath使this.route.params.id

方案二:

父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。
this. r o u t e r . p u s h ( n a m e : ′ D e s c r i b e ′ , p a r a m s : i d : i d ) 对 应 路 由 配 置 : 注 意 这 里 不 能 使 用 : / i d 来 传 递 参 数 了 , 因 为 父 组 件 中 , 已 经 使 用 p a r a m s 来 携 带 参 数 了 。 p a t h : ′ / d e s c r i b e ′ , n a m e : ′ D e s c r i b e ′ , c o m p o n e n t : D e s c r i b e 子 组 件 中 : 这 样 来 获 取 参 数 t h i s . router.push({ name: 'Describe', params: { id: id } }) 对应路由配置: 注意这里不能使用:/id来传递参数了,因为父组件中,已经使用params来携带参数了。 { path: '/describe', name: 'Describe', component: Describe } 子组件中: 这样来获取参数 this. router.push(name:Describe,params:id:id):使:/id使paramspath:/describe,name:Describe,component:Describe:this.route.params.id

方案三:

父组件:使用path来匹配路由,然后通过query来传递参数
这种情况下 query传递的参数会显示在url后面?id=?
this.$router.push({
path: ‘/describe’,
query: {
id: id
}
})
对应路由配置:
{
path: ‘/describe’,
name: ‘Describe’,
component: Describe
}
对应子组件: 这样来获取参数

this.$route.query.id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值