Запретить изменение местоположения в URL браузера в VueJs - PullRequest
0 голосов
/ 31 мая 2018

У меня есть приложение vuejs, в котором я делаю остальные вызовы API в серверную.У меня есть определение маршрутизатора и навигации по различным компонентам.Теперь, когда я перемещаюсь, я вижу https://domain -name.com / # / abc путь маршрута в URL браузера.Я хочу предотвратить это, чтобы оно всегда показывало https://domain -name.com / независимо от того, по какому пути я иду.Есть ли способ сделать это в Vuejs или любом другом решении.Благодарим Вас за помощь!

Спасибо, Рахул

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Вы можете использовать псевдоним

Псевдоним / a как / b означает, что когда пользователь посещает / b, URL остается / b, но он будет соответствовать какесли пользователь посещает /a.

Вышеизложенное можно выразить в конфигурации маршрута как:

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

Итак, в вашем случае

const router = new VueRouter({
  routes: [
  // the URL will remains https://domain-name.com/
    { path: '/abc', component: ABC, alias: '/' }
    { path: '/def', component: DEF, alias: '/' }
  ]
})
0 голосов
/ 31 мая 2018

Вы используете Vue Router, идея которого заключается в изменении маршрутов ...

Поскольку у вас есть хэш в URL под вашим маршрутизатором, вам нужно добавить атрибут mode.

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})

Это удалит / # / someRoute и станет / someRoute

После добавления режима истории вам необходимо соответственно настроить сервер apache / nginx, чтобы отразить, еслипользователь должен был набрать в domain.com/someRoute, они не получили бы ничего, что мы можем исправить здесь .

Если вы хотите, чтобы ссылка постоянно оставалась как www.domain.com вместо использованияvue-router, вам придется менять компоненты по мере необходимости, когда они содержат миллион и один оператор if на странице.

...