Базовый вариант в Vue Router - PullRequest
0 голосов
/ 27 мая 2019

Этот вопрос обсуждался несколько раз ( 1 - 2 ), но я все еще не могу заставить его работать. Я перевожу наш проект, чтобы использовать vue в некоторых частях. То, что я хочу сделать, это:

  • Если url начинается с /v/, посмотрите на маршрутизатор vue и укажите путь.
  • Если url начинается с чего-то, кроме /v/, игнорируйте его (это представление будет отображаться текущей платформой из бэкэнда).

Мой роутер выглядит так:

const router = new Router({
    base: '/v/',
    mode: 'history',
    routes: routes
});

Где маршруты:

const routers = [
    ...
    {
        path: '/wholesale-catalogue/',
        name: 'wholesale-catalogue',
        component: () => import('./views/WholesaleCatalogue.vue')
    }
    ...
]

Второй вариант, который я попробовал, это вложение дочерних маршрутов:

const router = new Router({
    mode: 'history',
    routes: [
        { path: 'v', component: BaseView, children: routers }
    ]
});

Проблема в том, что при нажатии на веб-сайте маршрутизатор перенаправляет не /v/ URL-адреса в /v/, например:

ourwebsite.com/home/ -> содержит ссылки, например /about/. Когда вы нажимаете /about/, он на самом деле переходит к ourwebsite.com/about/ на несколько секунд, но затем URL меняется на /ourwebsite.com/v/about/. Это вызывает некоторые неудобства, так как при обновлении веб-сайта этот URL не существует (в нашей текущей базовой структуре), поэтому он не будет отображаться.

...