我正在尝试访问中间件路由器防护中的存储数据(getter),但返回 false



我正在创建一个新页面"CCD_ 1";对于尚未在我们的系统中创建子帐户的新用户。因此,根据我们的商店数据,如果用户没有帐户,我必须将他们重定向到";CCD_ 2";每次用户导航到另一个页面时都要刷新页面,但问题是每次我刷新页面时;CCD_ 3";getter是在页面重新加载后呈现的,这是有意义的,因为这就是路由器保护程序。但我需要一种方法来解决这个问题,让路由器保护程序等待getter

中间件.js

Router.beforeEach(function (to, from, next) {
if (!store.getters["accounts/hasAccount"]) {
next({
path: '/gettingstarted'
})
} else {
next()
}
})

这是获取true和false的getter

store.js

hasAccount(state) {
if (state.accounts.data) {
if (state.accounts.data.length > 0) {
return true
} else return false
} else return false
},

重新加载页面将重新初始化vuex。所以state.accounts.data应该用cookie或localStorage 保存

最新更新