Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
Vue3 Error reload twice in login page after redirect with router

In my Login.vue file, I have login function When I click login button, it reload twice in login layout before route redirect to checkin layout. So I must click two times login button

This is my video about this error

https://youtu.be/t5OHtqjgT54

// Login.vue
<template>
    <CButton @click="onLogin()">
        Login
    </CButton>
</template>

<script>
const onLogin = async () => {
    const { data } = await axios.post('/login', data)
    window.localStorage.setItem('user-info', JSON.stringify(data.user))
    router.push('/manager/checkin')
}
</script>

In my router.js

// router/index.js

    const routes = [
        {
        path: '/',
        component: DefaultLayout,
        redirect: '/manager/checkin',
        children: [
            {
            path: '/manager/checkin',
            component: () => import('@/views/manager/Checkin.vue'),
            },
        ],
        },
        {
        path: '/pages',
        redirect: '/pages/404',
        component: {
            render() {
            return h(resolveComponent('router-view'))
            },
        },
        children: [
            {
            path: 'login',
            component: () => import('@/views/pages/Login.vue'),
            },
        ],
        },
    ]

    const router = createRouter({
        history: createWebHashHistory(process.env.BASE_URL),
        routes,
    })
    
    router.beforeEach((to, from, next) => {
        const publicPages = ['/pages/login']
        const authRequired = !publicPages.includes(to.path)
        const loggedIn = localStorage.getItem('user-info')
    
        if (authRequired && !loggedIn) {
        next('/pages/login')
        } else {
        next()
        }
    })
  
    export default router
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda