[vuex] getters should be function but "getters.getUser" in module "article" is {"name":"Fengfeng","age":18}.
时间: 2023-09-08 20:16:38 浏览: 179
关于你提到的错误信息,它是因为在 Vuex 模块中的 getters 期望是一个函数,而不是一个对象。在你的代码中,"getters.getUser" 是一个对象,应该改为一个函数。
你可以在 Vuex 模块文件中的 getters 部分做如下修改:
```javascript
// article.js
const getters = {
getUser: state => {
return state.user;
}
};
export default {
// 其他模块配置...
getters
};
```
通过这样的修改,你就可以访问 `getters.getUser` 来获取 `user` 对象了。希望能帮到你!如果还有其他问题,请继续提问。
相关问题
vuex] getters should be function but "getters.filePreUrl" is undefined.
当你看到这样的错误信息 "vuex getters should be a function but \"getters.filePreUrl\" is undefined",它是在提醒你关于Vuex(Vue.js的状态管理库)中的getters配置问题。getters是Vuex store中用于计算状态的函数,通常它们会被用来转换、处理或获取来自store的数据。
在这个错误中,意味着你的 `filePreUrl` getter 被定义成了undefined,而不是一个函数。解决这个问题需要检查以下几个步骤:
1. **getter的定义**:确保你在`store.js` 或者相关的模块 (`module.js`) 中有正确的getter定义。例如,应该像这样定义一个getter:
```javascript
export const getters = {
filePreUrl(state) {
return state.file.url ? 'https://example.com/' + state.file.url : '';
}
};
```
2. **state初始化**:确认对应的`state`字段(这里应该是`file`对象及其`url`属性)已经被正确地初始化了,并且不是null或undefined。
3. **引用路径是否正确**:检查在组件中是否正确导入并使用这个getter,确保使用的路径名与定义一致。
如果以上都检查无误,但问题仍然存在,可能是由于文件加载顺序导致的,在应用启动初期getters还没被完全加载。你可以尝试在actions或mutations中获取数据,然后在getters里使用这些数据。
vue.min.js:11 TypeError: Cannot read properties of undefined (reading 'getters')
这个错误通常是因为在访问 Vuex 的 getters 属性时,出现了 undefined 的情况。可能有以下几个原因导致这个错误:
1. 检查是否正确引入了 Vuex 库。在使用 Vuex 之前,需要先安装和引入 Vuex 库。确保正确引入了 Vuex 并且没有出现加载错误。
2. 检查是否正确配置了 Vuex 的 store。在创建 Vuex 的 store 实例时,需要正确配置 getters 属性。确保 getters 属性被正确定义。
3. 检查是否正确使用了 getters 属性。在组件中访问 getters 属性时,需要使用 this.$store.getters 来获取 getters 对象,并通过特定的属性名来访问具体的 getter。
请检查以上几个方面,看看是否出现了相应的错误或者遗漏。如果仍然无法解决问题,请提供更多相关的代码和错误信息,以便我能够更好地帮助你解决问题。
阅读全文