正如每个应用程序中我有几条路线。例如(router/index.js
节选):vue.js:路由守卫等待异步值
[{
path: '/reporting',
name: 'Reporting',
component: reporting,
meta: {
adminOnly: true
}
},
...]
正如你可以在路线定义见,访问reporting
当用户需要有管理员权限,这在vuex商店的属性。问题:这个属性是异步的,当初访问警卫时当然是错误的。我怎样才能让我的警卫等待呢?
后卫:
if (to.matched.some(route => route.meta.adminOnly)) {
if (store.getters.userInfo.isAdmin) {
next()
} else {
next('/')
}
} else {
next()
}
如何以及在哪里获取此属性? – Cobaltway
它在init的vuex存储中完成。 – sandrooco
然后在该登录操作解决之前,您不应该启动您的应用程序。随着行动回复承诺,你应该很容易。 –