Перенаправление маршрутизатора после того, как пользователь уже вошел в систему, не будет работать

#vue.js #vuejs3

Вопрос:

Всякий раз, когда я вызываю функцию выхода из своего компонента, она вообще не работает, она работала раньше, но остановилась после добавления кода ниже router.beforeEach . Мне нужно перенаправить пользователя на ( ‘ / ‘ ), если он уже вошел в систему, проверив authState . Как я могу устранить эту проблему?

  if(to.path == '/login' amp;amp; authState == true) {
     return next('/')
   }
 
   async signOut() {
      await auth.logout();
      await localStorage.removeItem("authenticated");
      await router.push({ name: "Login" });
    },
 
 router.beforeEach((to, from, next) => {
  const { authState } = useAuthStore(router.pinia);
   
  if(to.path == '/login' amp;amp; authState == true) {
     return next('/')
   }

  if (to.matched.some(record => record.meta.authRequired)) {
    authState
      ? next()
      : next('/login');
  } else {
    next();
  }
});
 

Комментарии:

1. Вы пытались войти в систему перед каждым? Например, какова ценность authState или to ?

2. AuthState-это просто средство получения и возвращает значение true/false return JSON.parse(localStorage.getItem("authenticated")) . Я могу войти на страницу, но не могу выйти из системы. Он перестал работать после того, как я добавил if(to.path =='/login'...