如您所知,Nuxt会自动生成具有给定页面的VueRouter . 我想要实现的是添加一个自定义的auth防护 . 所以基本上在呈现路由之前我会检查用户是否经过身份验证,如果是则显示该页面,如果没有显示登录页面并在登录后解析路径 .
因此,文档指出中间件是处理此类案例的一种方式 . 在我的情况下, auth.js
在 middleware
文件夹中:
export default function (ctx) {
const { store, redirect } = ctx
if (!store.state.currentUser) {
return redirect('/signin')
}
}
这适用于重定向到登录/注册页面 . 问题是我没有办法在用户登录后解析原始路径 .
就像是:
onUserLoggedIn(){
this.$router.next()
}
在 SignIn.vue
组件中
你知道如何解决这个问题吗?
或者有没有办法在Nuxt生成的动态路由上设置 beforeGuard
?
1 回答
你有没有尝试过
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
重定向之前的路径并在以后重用它 .