解决 vuex路由的前置守卫执行了异步action页面渲染不出来,控制台也没有任何报错,就是获取不到数据的错误!
注意红框里面, 一定要返回当前页面!
·
// 如果有token
if (to.path === '/login') {
// next() 放行
// next(false) 终止
// next(地址) 跳到某个 地址
// 如果要访问的是登录页
next('/') // 跳到主页
} else {
// 如果没有账户id(代表没有获取用户资料)
if (!store.getters.userId) {
// vuex的action是一个promise
// 获取用户资料
await store.dispatch('user/getUserInfo')
next(to.path) // 解决直接执行next()时的异常!!!去到当前页面,必须写next(to.path),不然会渲染不出来
} else {
// 有了就直接放行
next() // 直接放行
}
}
注意红框里面, 一定要返回当前页面!!!
更多推荐
已为社区贡献1条内容
所有评论(0)