module namespace not found in mapState()

1、错误现象:

img

2、原因分析:

2.1 vuex配置模块化

检查是否使用modules参数配置模块化

// store/index.js
 
import Vue from 'vue';
import Vuex from 'vuex';
import count from './count';
import person from './person';
 
Vue.use(Vuex);
 
export default new Vuex.Store({
  modules: { count, person }
});

2.2 开启命名空间

检查是否将namespaced参数设置为true开启命名空间。注意单词的拼写,不要写成namespace了,一定要加上后边的d。

// store/count.js
 
const count = {
  namespaced: true,
  actions: {
    increment(context, value){
      context.commit('increment', value);
    },
    decrement(context, value){
      context.commit('decrement', value);
    },
    incrementOdd(context, value){
      if(context.state.sum % 2){
        context.commit('increment', value);
      }
    },
    incrementWait(context, value){
      setTimeout(() => {
        context.commit('increment', value);
      }, 500);
    }
  },
  mutations: {
    increment(state, value){
      state.sum += value;
    },
    decrement(state, value){
      state.sum -= value;
    },
  },
  state: {
    sum: 0,
    school: '百度',
    lesson: '前端',
  },
  getters: {
    bigSum(state) {
      return state.sum * 10;
    }
  }
}
 
export default count;

扫描下方二维码,关注公众号:程序进阶之路,实时获取更多优质文章推送。


扫码关注

评论