He usado Nuxt.js (v2.15.7) como aplicaciones web SPA. Pero la redirección no funciona en mis aplicaciones.
Mis aplicaciones son simples. El usuario inicia sesión en las aplicaciones y luego pasa a los contenidos de inicio. visualización de inicio de sesión realizada en pages/index.vue, y contenidos de inicio realizados en pages/home.vue.
y también he usado "vuex" como manejo de estado. Entonces, hice un proceso de redirección como se muestra a continuación.
export default ({ store, redirect, route }: any) => { if (!store.state.user && (route.name !== 'index' || route.name !== 'auth-setPassword')) { redirect('/') } if (store.state.user && (route.name === 'index' || route.name === 'auth-setPassword')) { redirect('/home') } }Si el usuario finaliza el proceso de inicio de sesión, la información del usuario conserva state.user. Si el usuario no finaliza el proceso de inicio de sesión, state.user siempre es nulo. este archivo colocado en los complementos. y luego agregue la ruta del archivo de complementos en nuxt.config.ts como se muestra a continuación.
export default{・・・plugins: [ { src: '~/plugins/auth', ssr: false }, ],・・・}pero no funciona Siempre trato como "localhost: 3000/home" sin iniciar sesión y me muevo a los contenidos de "inicio".
y trato de usar "window.onNuxtReady" en mi proceso de redirección como se muestra a continuación.
export default ({ store, redirect, route }: any) => { if (!store.state.user && (route.name !== '/' || route.name !== 'auth-setPassword')) { (<any>window).onNuxtReady(() => { redirect('/') }) } if (store.state.user && (route.name === '/' || route.name === 'auth-setPassword')) { (<any>window).onNuxtReady(() => { redirect('/home') }) } }El proceso de redirección fue exitoso, pero siempre muestra el mensaje de error a continuación.
NavigationDuplicated: Avoided redundant navigation to current location: "/".¿Alguien me ayuda, cómo redirigir correctamente en las aplicaciones web nuxt.js?