Необязательный параметр Vue Router, который не соответствует точной строке - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь построить следующую логику путей маршрутизатора:

Маршрут "/ 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))?'

никто не работает.

Что я с этим не так делаю?

Спасибо.

...