我最近使用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)
谢谢你 托纳修
答案 0 :(得分:0)
我假设您在vuex的getter中具有一个function(getter),并且您正在尝试使用类似的方法来调用它
store.getters.default()
这样做是错误的方式,这样您会得到一些错误日志。
所以正确的方法是在vue组件的计算属性内使用vuex的mapGetters。在代码中看起来像这样。
import { mapGetters } from 'vuex'
...
...
computed:{
...mapGetters(['default'])
},
...
...
然后尝试使用此(vm实例)调用默认getter,例如
this.default()
这就是现在应该工作的全部。
希望对您有帮助。