我正在尝试访问router.js文件中Vuex存储中的当前已验证用户
{
path: '/admin/login',
name: 'admin-login',
component: AdminLogin,
beforeEnter(to, from, next) {
console.log(store.state.user);
if(store.getters.user) {
// check if an agency is trying to log in as admin
if (!store.getters.user.attributes['custom:role_id'] === 1) {
next({ name: 'agency-dashboard', params: { agency: store.getters.user.attributes['custom:agency_id'] } });
} else {
next({ name: 'admin-dashboard' });
}
} else {
next();
}
}
}
当我console.log(store.getters)
时,我得到一个处于所有状态的对象,包括用户对象。
但是,当我尝试访问store.js中确实存在的console.log(store.getters.user)
时,它只返回false
,这是页面加载时用户对象的初始状态。
如何从state.getters
看到用户对象,而从state.getters.user
看不到用户对象?
答案 0 :(得分:0)
在我看来,这是语法错误,因为将getter作为属性进行访问,这些属性作为Vue的反应系统的一部分进行缓存。用于访问它:
this.$store.getters