#tengo este getter en el store que
1 messages · Page 1 of 1 (latest)
Tambien tienes otro detalle, no necesitas validar que la pantalla sea login, ya que login debe de tener que no requiere autenticacion en la parte de rutas
Te recomiendo seguir lo que dice la pagina oficial
El ejemplo lo que hace en la documentacion oficial es, que si tu ruta es diferente de Login (que asi lo nombraste tambien) y que la persona no esta autenticada te mande a Login de lo contrario te carga la pagina a la que quieres entrar que tiene marcado que requiere autenticacion
router.beforeEach((to, from, next) => {
if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
else next()
})
Ahora tu estas manejando el tema del store, entonces cambiarias !isAuthenticated por !store.getters.isAuthenticated
Te comparto como lo tengo yo aunque yo uso Quasar y por eso la palabra router esta en mayusculas porque asi esta declarada antes
Tambien te comento que yo uso pinia y no vuex por eso se ve un tanto diferente, veras algo raro o de mas porque lo que hace es que si ya esta logueado y entra a login te reenvia a la pagina pricipal o el dashboard
Router.beforeEach(async (to, from, next) => {
if (to.matched.some(record => record.meta.requireAuth)) {
if (store.isLoggedIn) {
next()
} else {
next({ name: 'LoginClient' })
}
} else {
if (store.isLoggedIn) {
next({ name: 'HomeClient' })
} else {
next()
}
}
})