316,699
社区成员
发帖
与我相关
我的任务
分享vue-router的动态路由匹配以及使用
动态路径匹配:即把某种模式匹配到的所有路由,全都映射到同个组件。使用动态路由参数来实现。
例如,我们有一个 User 组件,对于所有ID 各不相同的用户,都要使用这个组件来渲染。那么,我们可以在vue-router的路由路径中使用“动态路径参数”(dynamic segment)来达到这个效果。
const User = {
template: '<div>User</div>'
}
const router = new VueRouter({
routes: [
// 动态路径参数 以冒号开头
{ path: '/user/:id', component: User }
]
})
这样,像/user/foo和/user/bar都将映射到相同的路由。
一个“路径参数”使用冒号 :标记。当匹配到一个路由时,参数值会被设置到 this.$route.params,可以在每个组件内使用。
在 User 的模板,输出当前用户的 ID:
const User = {
template: '<div>User {{ $route.params.id }}</div>'
}