#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'...