hlllmm 2019-12-31 12:41 采纳率: 0%
浏览 1544

vuex模块化后,调用commit,dispatch报错

路过的大哥们帮忙看看,谢谢

vuex 如下:

const layoutModule = {
  state:{
    userInfoId:{},
    userHeadImgFile:{},
    userHeadImg:"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",
    personInfo:{
      username:'',
    },

  },

  getters:{
    getUserHeadImgFile(state){
      return state.userHeadImgFile;
    },
    getUserInfoId(state){
      return state.userInfoId;
    },
    getUserHeadImg(state){
      return state.userHeadImg;
    },
    getPersonalInfo(state){
      return state.personInfo;
    }
  },

  mutations:{
    setUserHeadImgFile(state,file){
      state.userHeadImgFile = file;
    },

    setUserInfoId(state,id){
      state.userInfoId = id;
    },

    setUserHeadImg(state,headImg){
      state.userHeadImg = headImg;
    },

    setPersonInfo(state,personInfo){
      state.personInfo = personInfo;
    }
  },

  actions:{
    uploadHeadImg({commit,state},file){
      var formData = new FormData();
      formData.append('file',file);
      formData.append('userInfoId',parseInt(state.userInfoId));
      Vue.http.post('/userInfo/uploadHeadImg',formData,
        {headers: { 'Content-Type': 'multipart/form-data' }},
      ).then(function(res){
        var result = res.data;
        if(result.code=="200"){
          commit("setUserHeadImgFile",file);
        }
      })
    },

  }
};


const store = new Vuex.Store({
  modules:{
    layout : layoutModule,
  }
});

export default store;

vue实例中调用:

this.$store.layout.commit("setUserInfoId", result.data.userInfoId);

报错:
Error in v-on handler: "TypeError: Cannot read property 'commit' of undefined" found in

应该怎么正确调用commit,dispatch,getters呢?谢谢!

  • 写回答

1条回答

  • m0_62460586 2022-02-10 20:22
    关注

    this.$store.commit( 'layout/setUserInfoId',result.data.userInfoId )

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器