Vue路由

本文介绍了在VueRouter中如何使用带参数的动态路由匹配,如/users/:id,使同一组件处理不同用户ID。路径参数可通过this.$route.params访问,并支持多个参数。此外,还提到了$route对象的其他相关信息,如query和hash。
摘要由CSDN通过智能技术生成

1、带参数的动态路由匹配

很多时候,我们需要给匹配模式的路由映射到同一个组件。例如,我们可能有一个User组件,它应该对所有用户进行渲染,但用户ID不同。再Vue Router 中,我们可以再路径中使用一个动态字段来实现,我们称之为 路由参数。

const User = [
    {template: "<p>路由1<p>"}
]
// 这些都会传递给 createRouter 
const routes = [
    // 动态字段以冒号开始
    { path: '/users/:id', component: User},
]

现在就想/users/johnny 和 /users/jolyne 这样的URL都会映射到同一个路由。

路径参数用冒号:标识。当一个路由被匹配时,它的params的值将在每一个组件中以this.$route.params的形式暴露出来。因此,我们可以通过更新 User 的 模板来呈现当前用户ID:

const User = {
    template: '<div>User {{ $route.params.id }} </div>',
}

你可以在同一个路由中设置有多个路径参数看,他会映射到 $route.params 上的相应字段。例如:

匹配模式匹配路径$route.params
/users/:username/user/eduardo

 { username: 'eduardo' }

/users/:username/posts/:postid/users/eduardo/posts/123{ username: 'eduardo',postId:'123'}

 

处理$route.params 之外,$route 对象还公开了其他有用的信息, 如 ¥route.query (如果 URL 中存在参数)、$route.hash 等。你可以在API参考中查看完整的细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值