首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vuex无法调用模块

Vuex无法调用模块
EN

Stack Overflow用户
提问于 2021-08-29 12:55:50
回答 1查看 75关注 0票数 0

当我试图调用模块时,我得到错误vuex未知操作类型: signUp,它也不工作,有什么问题吗?this.$store.dispatch('auth/signUp', this.form)

方法

代码语言:javascript
复制
methods:{
  signUp() {
    this.$store.dispatch('signUp', this.form)
  }
}

商店

代码语言:javascript
复制
import Vue from 'vue'
import Vuex from 'vuex'
import auth from './modules/auth'

Vue.use(Vuex)

export default function createStore() {
  return new Vuex.Store({
      state() {
          return {}
      },
      mutations: {},
      actions: {},
      modules:{
        auth,
      }
  })
}

模块(在src/store/ Module /auth.js中)

代码语言:javascript
复制
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default function createStore() {
  return new Vuex.Store({
     state() {
        return {}
     },
     mutations: {},
     actions: {
       signUp({commit, getters}, data) {
         debugger
       },
     },
  })
}
EN

回答 1

Stack Overflow用户

发布于 2021-08-29 13:24:05

您不应该在您的商店和模块中使用import Vuex from 'vuex'。这可能会导致像您的模块不会被重新编码这样的问题,因为您的存储已经初始化。

相反,您应该以如下方式配置您的Vuex存储:

商店

代码语言:javascript
复制
import { createStore } from "vuex";
import auth from './modules/auth';
export default createStore({
  modules: {
    auth
  },
});

模块

代码语言:javascript
复制
  const state = {
    user
  };
  const getters = {
     getUserState: (state) => state.user
  };
  const actions = {
    signUp({commit}, data) {
      commit('signUpSuccess', data);
    },
  };
  const mutations = {
    signUpSuccess(state, user) {
      state.user = user;
    },
  }
  export default {
    state,
    getters,
    actions,
    mutations,
  };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68973117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档