Как перенаправить на вход без добавления маршрута к записи истории в vue? - PullRequest
2 голосов
/ 25 января 2020

Я нахожусь на странице: /foo и нажимаю на кнопку, чтобы перенаправить меня на /bar. Но у меня есть событие маршрута beforeEach, которое перенаправляет меня на /login. после входа в систему я перенаправляю на /bar.

. Когда я нажимаю /bar, нажимаю кнопку "Назад" и попадаю на страницу входа. я хочу получить последнюю страницу, которая /foo.

Как я могу это сделать? Есть ли способ перенаправить на вход без добавления маршрута к записи истории?

  router.beforeEach((to, from, next) => {
    if (!to.matched.some((record) => record.meta.auth)) { return next(); }

    return next({
      path: '/login',
    });
  });

Ответы [ 2 ]

3 голосов
/ 25 января 2020

Используйте замену вместо pu sh при перенаправлении на страницу после входа в систему (в компоненте входа).

loginSuccessed() {
 this.$router.replace(redirect);
}
0 голосов
/ 25 января 2020

Используйте route.replace, установленное в router.pu sh. Он действует как router.pu sh, единственное отличие состоит в том, что он перемещается без нажатия новой записи истории, как следует из его названия - он заменяет текущую запись.

succesffulyLoggedin() {
     this.$router.replace({ name: 'dashboard' });
}

читать документы здесь маршрутизатор заменяет

...