未捕获的错误:[vuex] getters应该起作用,但是“ getters.default”是{}

时间:2018-06-30 09:24:01

标签: javascript npm vue.js vuex

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

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)

谢谢你 托纳修

1 个答案:

答案 0 :(得分:0)

我假设您在vuex的getter中具有一个function(getter),并且您正在尝试使用类似的方法来调用它

store.getters.default()

这样做是错误的方式,这样您会得到一些错误日志。

所以正确的方法是在vue组件的计算属性内使用vuex的mapGetters。在代码中看起来像这样。

import { mapGetters } from 'vuex'
...
...
  computed:{
            ...mapGetters(['default'])
        },
...
...

然后尝试使用此(vm实例)调用默认getter,例如

this.default()

这就是现在应该工作的全部。

希望对您有帮助。