与确切字符串不匹配的可选Vue Router参数

时间:2019-04-12 17:19:34

标签: vue.js vuejs2 vue-router

我正在尝试构建以下路由器路径逻辑:

路由“ / 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))?'

没人行。

我这是怎么了?

谢谢。

0 个答案:

没有答案