vue-router - Как получить URL предыдущей страницы? - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу получить ссылку на предыдущую страницу или URL в vue-router.Вроде этого.Как это сделать?

const link = this.$router.getPrevLink(); // function is not exist?
this.$router.push(link);

Рядом с концепцией стоит this.$router.go(-1).

this.$router.go(-1);

1 Ответ

0 голосов
/ 15 декабря 2018

Все навигационные охранники vue-router получают предыдущий маршрут в качестве аргумента from.

Каждая функция защиты получает три аргумента:

  • to: Route: целевой объект маршрута, к которому осуществляется навигация.

  • from: Route: текущий маршрут, с которого осуществляется навигация.

  • next: Function: эта функция должна быть вызвана для устранения ловушки.Действие зависит от аргументов, предоставленных следующим

В качестве примера вы можете использовать beforeRouteEnter, компонент навигации навигации, чтобы получить предыдущий маршрут и сохранить его вваши данные ..

...
data() {
 return {
   ...
   prevRoute: null
 }
},
beforeRouteEnter(to, from, next) {
  next(vm => {
    vm.prevRoute = from
  })
},
...

Затем вы можете использовать this.prevRoute.path, чтобы получить предыдущий URL.

...