【问题标题】:Vuex: unknown action typeVuex:未知的动作类型
【发布时间】:2019-10-28 07:01:17
【问题描述】:

我在使用 vuex 时遇到了很多问题。在没有明显原因的情况下,不会找到 Getter、动作和突变。在下面的示例中,正在识别并执行 fetchFacility,但 addFacility 会抛出 [vuex] 未知操作类型:addFacility: (来自 store.ts)

//...
actions: {
  addFaciltiy: async function (context, fac: CFacility) {
    await axios.post('/db/facilities', fac)
  },
  fetchFacilities: async function (context, actions) {
    axios.get('/db/facilities').then((response) => response.data.forEach((element: CFacility) => {
    context.commit('addFacility', element);
  }));
}
//...

(来自 vue 组件)

import Vue from "vue";
import { CFacility } from "./model";
import { mapGetters, mapActions } from "vuex";

export default Vue.extend({
    //...
      methods: mapActions(["fetchFacilities", "addFacility"]),
    //...
    created() {
      this.fetchFacilities("a");
      this.addFacility(
        new CFacility(//..)
    );
}}

我正在使用自动生成的 store.ts。我已经阅读了无数关于我不使用模块及其名称空间的人的帖子。我尝试了动作的箭头符号,多次重写动作并通过调度和 mapActions 访问它们。

【问题讨论】:

标签: typescript vue.js vuex


【解决方案1】:

尽量在 mapActions 之前加上省略号:

methods: ...mapActions(["fetchFacilities", "addFacility"]),

【讨论】:

    【解决方案2】:

    只是一个简单的错字,非常感谢@daniel ormeño

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 2021-06-26
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      相关资源
      最近更新 更多