首页 文章

Nuxt(Vue),登录后解析路由,在动态生成的路由上添加beforeGuard

提问于
浏览
2

如您所知,Nuxt会自动生成具有给定页面的VueRouter . 我想要实现的是添加一个自定义的auth防护 . 所以基本上在呈现路由之前我会检查用户是否经过身份验证,如果是则显示该页面,如果没有显示登录页面并在登录后解析路径 .

因此,文档指出中间件是处理此类案例的一种方式 . 在我的情况下, auth.jsmiddleware 文件夹中:

export default function (ctx) {
    const { store, redirect } = ctx
    if (!store.state.currentUser) {
        return redirect('/signin')
    }
}

这适用于重定向到登录/注册页面 . 问题是我没有办法在用户登录后解析原始路径 .

就像是:

onUserLoggedIn(){
    this.$router.next()
}

SignIn.vue 组件中

你知道如何解决这个问题吗?

或者有没有办法在Nuxt生成的动态路由上设置 beforeGuard

1 回答

  • 0

    你有没有尝试过 router.go(n)

    取自Docs

    This method takes a single integer as parameter that indicates by how many steps to go forwards or go backwards in the history stack, similar to window.history.go(n).

    另一种方法是 store 重定向之前的路径并在以后重用它 .

相关问题