我正在尝试构建以下路由器路径逻辑:
路由“ / tasks /”打开任务的根部分
路由“ / tasks /:category_slug?”打开按类别过滤的任务部分
“ / tasks / map”和“ tasks /:category_slug?/ map”路线打开根部分的地图视图,或按类别过滤。
这是我的路由器结构:
{
path: '/tasks/:category_slug?',
component: require('../vue/tasks/tasksContainer.vue'),
children: [{
path: '',
component: require('../vue/tasks/tasksList.vue')
}, {
path: 'map',
component: require('../vue/tasks/tasksMap.vue')
}]
}
所以,关键是当我打开路径“ / tasks / map”时它匹配到路由“ / tasks /:category_slug?”
好像我需要做一个正则表达式来检查category_slug是否等于“ map”,但是我找不到它的工作方式。
我尝试了以下方法:
path: '/tasks/:category_slug(!map)?',
path: '/tasks/:category_slug((?!map))?'
path: '/tasks/:category_slug((!map))?'
没人行。
我这是怎么了?
谢谢。