首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获的错误:[vuex] getters应为函数,但"getters.default“为{}

未捕获的错误:[vuex] getters应为函数,但"getters.default“为{}
EN

Stack Overflow用户
提问于 2018-06-30 17:24:01
回答 1查看 1.6K关注 0票数 2

我最近使用NPM为生产环境构建了我的VUE项目,但是在控制台中我得到了以下错误。有人知道vuex为什么抱怨吗?npm 3.10,node.js 8.11,

代码语言:javascript
复制
Uncaught Error: [vuex] getters should be function but "getters.default" is {}.
at assert (vuex.esm.js:97)
at vuex.esm.js:271
at vuex.esm.js:85
at Array.forEach (<anonymous>)
at forEachValue (vuex.esm.js:85)
at vuex.esm.js:270
at Array.forEach (<anonymous>)
at assertRawModule (vuex.esm.js:265)
at ModuleCollection.register (vuex.esm.js:191)
at new ModuleCollection (vuex.esm.js:165)

谢谢你Tonathiu

EN

回答 1

Stack Overflow用户

发布于 2018-06-30 18:14:50

我假设您在vuex的getters中有一个函数(Getter),并且您正在尝试使用以下内容调用它

代码语言:javascript
复制
store.getters.default()

这是一个错误的方式,你会得到一些错误的日志。

因此,正确的方法是在vue组件的mapGetters属性中使用vuex的computed。它在代码中看起来像这样。

代码语言:javascript
复制
import { mapGetters } from 'vuex'
...
...
  computed:{
            ...mapGetters(['default'])
        },
...
...

然后尝试使用这个(vm实例)调用默认的getter,如下所示

代码语言:javascript
复制
this.default()

这就是它现在应该能工作的全部内容。

我希望它能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51113564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档