vue-router: необязательный параметр fixed + path - PullRequest
0 голосов
/ 31 марта 2019

Я хочу иметь один объект маршрута для следующих сценариев:

  • /a/123/b
  • /b

То, что я пробовал, это:

{ путь: '(a /: a)? / b', ... }

Кажется, это работает при тестировании пути на Express Router Tester , но только для path-to-regexp версии 0.1.7. Любая версия выше, которая будет экранировать специальные символы.

Каким образом это возможно с новой версией path-to-regexp, которую использует vue-router?

1 Ответ

3 голосов
/ 31 марта 2019

Express Router и Vue Router различны, но если вы хотите создать маршрут с динамическим URL, то, возможно, вы можете использовать именованные маршруты из https://router.vuejs.org/guide/essentials/named-routes.html

Например:

 const router = new VueRouter({
  routes: [
    {
      path: '(a/:a)?/b',
      name: 'a',
      component: SomeComponent
    }
  ]
})

Тогда ваша навигация к SomeComponent должна выглядеть примерно так:

<router-link :to="{ name: 'a', params: { a: 123 }}">SomeComponent</router-link>
...