Vue 和 Vuex:无法在状态服务中分派动作

时间:2021-02-24 16:45:04

标签: vue.js vuex

我正在尝试在服务中分派一个动作。这是vue代码

import { mapActions} from "vuex";

methods: {
  ...mapActions("user", ["updateUseEmailAction"]),

  onSubmit() {
    this.submitted = true;
    this.$v.$touch();
    this.$v.$error ? "" : this.updateUser();
  },
  updateUser() {
    console.log("test");
    this.updateUseEmailAction({
      form: this.form,
    });
  },
},

user.js

import userService from "@/services/userService";

export const state = {
  loading:false,
};

export const actions = {
 updateUserNameAction({ commit }, params) {
 return new Promise(() => {
  userService
    .updateUserName(params)
    .then((data) => {
      this._vm.$toast.success(data.message);
    })
    .catch((err) => {
      this._vm.$toast.error(err.data.message);
    });
 });
},

updateUserEmailAction({ commit }, params) {
console.log("inside user/updateUserEmailAction");
return new Promise(() => {
  userService
    .updateUserEmail(params)
    .then((data) => {
      this._vm.$toast.success(data.message);
    })
    .catch((err) => {
      this._vm.$toast.error(err.data.message);
    });
  });
 },
};

我在日志中得到“测试”,但出现此错误

unknown local action type: updateUseEmailAction, global type: user/updateUseEmailAction

为什么它寻找名为 updateUseEmailAction 的本地操作或函数,而不是从 user 服务分派它?如何解决这个问题?

0 个答案:

没有答案