getters: { getUserId() { return this.managerInfo.user ? this.managerInfo.user.id : 0 }, getUser() { return this.managerInfo.user || {} }, getBearerToken() { return this.managerInfo.token ? 'Bearer ' + this.managerInfo.token : '' }, getToken() { return this.managerInfo.token || "" }, getMenus() { return this.managerInfo.menus || [] }, getAuths() { return this.managerInfo.auths.length ? this.managerInfo.auths.map(v => v.auth) : [] } },
时间: 2024-02-14 19:03:03 浏览: 104
这段代码是 Vuex 中的一个模块的 getters 对象,里面定义了一些基于全局状态的计算属性,可以在组件中通过 `mapGetters` 辅助函数来将这些计算属性映射到组件的计算属性中。
具体来说,该 getters 对象中定义了以下计算属性:
- `getUserId`:获取当前登录用户的 ID,如果用户未登录则返回 0。
- `getUser`:获取当前登录用户的信息,如果用户未登录则返回空对象 `{}`。
- `getBearerToken`:获取当前登录用户的 token,并加上 `Bearer` 前缀,如果用户未登录则返回空字符串 `""`。
- `getToken`:获取当前登录用户的 token,如果用户未登录则返回空字符串 `""`。
- `getMenus`:获取当前登录用户的菜单列表,如果用户未登录则返回空数组 `[]`。
- `getAuths`:获取当前登录用户的权限列表,如果用户未登录或者权限列表为空则返回空数组 `[]`。对于权限列表中的每一个对象,取出其中的 `auth` 属性构成新的数组返回。
相关问题
[vuex] getters should be function but "getters.getUser" in module "article" is {"name":"Fengfeng","age":18}.
关于你提到的错误信息,它是因为在 Vuex 模块中的 getters 期望是一个函数,而不是一个对象。在你的代码中,"getters.getUser" 是一个对象,应该改为一个函数。
你可以在 Vuex 模块文件中的 getters 部分做如下修改:
```javascript
// article.js
const getters = {
getUser: state => {
return state.user;
}
};
export default {
// 其他模块配置...
getters
};
```
通过这样的修改,你就可以访问 `getters.getUser` 来获取 `user` 对象了。希望能帮到你!如果还有其他问题,请继续提问。
阅读全文
相关推荐

















