是否可以在加载页面之前和来宾中间件之前设置 state.loggedIn?



我设置了@nuxtjs/auth和来宾中间件。但是,如果我登录并重新启动浏览器并转到/login端点,我可以访问该页面,因为只有在加载页面后才设置state.loggedIn。是否可以在中间件和页面加载之前设置state.loggedIn

答案是肯定的。

您可以使用nuxtServerInit在返回服务器渲染页面之前检查请求的连接状态。

store/index.js

actions: {
nuxtServerInit ({ commit }, { req }) {
if (req.session.user) {
commit('user', req.session.user)
}
}
}

参考链接: https://nuxtjs.org/guide/vuex-store#the-nuxtserverinit-action

最新更新