Как посмотреть историю навигации в vue роутере? - PullRequest
1 голос
/ 28 января 2020

У меня есть приложение vue. js, и я хотел бы видеть историю навигации в vue -router. У меня в компоненте есть хук beforeRouteLeave, и я поставил точку останова там. Он достигает точки останова, и я набираю этот. $ Router в консоли. Он выводит объект $ router, но я не вижу фактический стек URL, представляющих историю моей навигации по сайту.

Вот что я вижу:

currentRoute: (...)
app: Vue {_uid: 3, _isVue: true, $options: {…}, _renderProxy: Proxy, _self: Vue, …}
apps: [Vue]
options: {mode: "history", linkActiveClass: "active", routes: Array(47), scrollBehavior: ƒ}
beforeHooks: []
resolveHooks: []
afterHooks: [ƒ]
matcher: {match: ƒ, addRoutes: ƒ}
fallback: false
mode: "history"
history: HTML5History {router: VueRouter, base: "", current: {…}, pending: {…}, ready: true, …}
__proto__: Object

(я может расширить это, но я думаю, что это будет слишком большим.)

Где находится фактический стек навигации?

Если вы хотите знать, почему мне нужно видеть стек навигации, это потому, что когда Я нажимаю кнопку «Назад» в браузере, я подозреваю, что стек навигации выталкивается, хотя мой хук beforeRouteLeave вызывается и я не вызываю next (). Я открываю всплывающее окно в beforeRouteLeave с параметрами: «оставить» или «остаться». Если пользователь нажимает «остаться», я остаюсь на странице. Кажется, что он делает свое дело (он не перемещается от текущей страницы), но затем, если я нажимаю refre sh в браузере, он обновляется с предыдущей страницы. Или, если я скажу «остаться» один раз, затем снова нажмите кнопку «Назад» и скажите «уйти», я go вернусь на две страницы назад.

Итак, я хочу посмотреть, что происходит со стеком навигации. Это выталкивается независимо от того, вызывается ли next () в beforeRouteLeave, по крайней мере, когда я нажимаю кнопку «Назад»? Или что-то еще происходит.

Спасибо.

1 Ответ

0 голосов
/ 28 января 2020

В настоящее время он не реализован, хотя вы можете использовать средства защиты маршрутизатора (перехватчики изменений маршрута) в качестве промежуточного программного обеспечения для хранения объектов аргументов from и to и записи логики c с этими значениями.

Просто убедитесь, что вы вызываете функцию next (), иначе вы будете хранить журналы и не будете вызывать следующий маршрут.

Проверьте документы здесь: https://router.vuejs.org/guide/advanced/navigation-guards.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...