【问题标题】:Method in vuex action return undefinedvuex动作中的方法返回未定义
【发布时间】:2020-11-03 10:45:27
【问题描述】:

我的 Vuex 操作中有以下方法:

const actions = {
  async fetchByQuery({ commit, title }) {
    console.log(title);
    //other codes
  },
};
以及达到 vuex 动作的方法:

  methods: {
     ...mapActions(["fetchByQuery"]),
    getData(title) {
        console.log("teacher");
      this.fetchByQuery(title);
    }
  }

但是操作中的console.log() 在控制台中给出undefined 输出。

我在这里错过了什么??

【问题讨论】:

    标签: javascript vue.js vuex vuex-modules


    【解决方案1】:

    您的操作中的参数错误。

    ({ commit, title }) 必须是 ({ commit }, title)

    否则您将不得不使用具有属性标题的对象来调用它。

    【讨论】:

      【解决方案2】:

      Vuex 操作需要两个参数,上下文对象 { commit } 和有效负载(title,在您的情况下)

      将您的操作声明更改为:

      const actions = {
        async fetchByQuery({ commit }, title) {
          console.log(title);
          //other codes
        },
      };
      

      【讨论】:

        猜你喜欢
        • 2018-11-16
        • 2019-07-31
        • 2021-02-01
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        • 2023-04-11
        • 2017-12-14
        • 1970-01-01
        相关资源
        最近更新 更多