Перенаправлен на запрошенный маршрут vue router

avatar
psudo
9 августа 2021 в 06:27
58
0
0

У меня есть следующий фрагмент кода из моего приложения:

router.beforeEach((to, from, next) => {
  const requiresAuth = to.matched.some((x) => x.meta.requiresAuth);
  const requiresGuest = to.matched.some((x) => x.meta.requiresGuest);
  const isLoggedin = store.getters["isLoggedin"];
  if (requiresAuth && !isLoggedin) {
    //if not loggedin or if user tries to access other routes directly
    next({
      path: "/",
      query: {
        redirect: to.fullPath
      },
    });
  } else if (requiresGuest && isLoggedin) {
    //if loggedin user try to access 'login' route
    next("/dashboard");
  } else {
    next();
  }
});

ПРИМЕЧАНИЕ:/ мой вид входа.

С помощью приведенного выше фрагмента кода, когда пользователь пытается получить доступ к /post/create без входа в систему, он перенаправляется на / с путем перенаправления в качестве запроса.

http://localhost:8080/?redirect=%2Fpost%2Fcreate

После входа пользователь перенаправляется на /dashboard.

Я также хочу перенаправить зарегистрированных пользователей на /dashboard, если они попытаются посетить /.

Как лучше всего это сделать. Поскольку мой текущий код не может этого добиться.

Источник
Estus Flask
9 августа 2021 в 06:56
1

Сделать условный next(...) в хуке / beforeRouteEnter?

Ответы (0)