路由参数
const routes = [
{ path: '/users/:id', component: ... },
{ path: '/o/:orderId' },
{ path: '/p/:productName' },
{ path: '/:orderId(\\d+)' },
{ path: '/:productName' },
]
const User = {
template: '<div>User {{ $route.params.id }}</div>',
}
| 匹配模式 | 匹配路径 | $route.params |
|---|
| /users/:username | /users/eduardo | { username: 'eduardo' } |
| /users/:username/posts/:postId | /users/eduardo/posts/123 | { username: 'eduardo', postId: '123' } |
可重复的参数
* : 0 个或多个
+ : 1 个或多个
? : 0个或1个
const routes = [
{ path: '/:chapters+' },
{ path: '/:chapters*' },
{ path: '/:chapters(\\d+)+' },
{ path: '/:chapters(\\d+)*' },
{ path: '/user/:id?' },
]
router.resolve({ name: 'chapters', params: { chapters: [] } }).href
router.resolve({ name: 'chapters', params: { chapters: ['a', 'b'] } }).href
router.resolve({ name: 'chapters', params: { chapters: [] } }).href