vuex.esm.js:135 uncaught error: [vuex] getters should be function but “getters.doublecount” in module “user” is 1.
出现这个报错是因为在使用vuex的moulds时 index.js中已经创建了一个vue实例new Vuex.Store
,然后在模块文件中又创建了一个,就会报错
index.js
import Vue from 'vue'
import Vuex from 'vuex'
import user from './user.js'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
modules:{
user
},
})
user.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
// 如果要写成 `export default new Vuex.Store({})`就会报错
export default { // 这里要直接抛出一个对象
state: {
count: 1
},
getters: {
doubleCount(state){
return state.count * 2
}
},
mutations: {
increment(state) {
state.count++;
}
},
actions: {
incrementCount({ commit }) {
commit('increment');
}
}
};