Измените URL целиком, используя Vue-router - PullRequest
0 голосов
/ 11 марта 2019

Мой вопрос связан с модулем Vue-router в Vue.Согласно документам, мы можем программно изменить только последнюю часть текущего URL https://router.vuejs.org/guide/essentials/navigation.html

Таким образом, $router.push изменит только часть '3' этой ссылки: http://localhost:8080/#/1/2/3

В моем конкретном случае я хочу перезагрузить данные и динамически изменить ВЕСЬ URL, например, так: http://localhost:8080/#/1/2/3 -> http://localhost:8080/#/5/6/7

Установка нового window.location.href находится на столе,но мне было интересно, есть ли более элегантное решение.Есть ли альтернатива $router.push, но которая также изменит другие части URL?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Vue-router управляет чем-либо после хэштега, когда он находится в режиме хеширования:

                      | HASH |
http://localhost:8080/#/1/2/3

Вызов $router.push(path: '3') должен установить URL на http://localhost:8080/#/3

Что касается хеша в документах Vue Router:

Режим по умолчанию для vue-router - режим хеширования - он использует URL хеш для имитации полного URL, чтобы страница не была перезагружена при URL меняется.

0 голосов
/ 12 марта 2019

Вы также можете нажать не относительный URL:

Относительный:

$router.push(3)
$router.push({path: '3'}}

Абсолютный:

$router.push({path: '/5/6/7'})
...