this $ store函数未定义

时间:2019-06-21 13:17:00

标签: axios vuex store

我正在尝试使用vuex的存储进行一些API调用,但是在安装vuex之后,将存储导入到我的文件中并遵循其他堆栈溢出答案,例如,如果我要使用“ Vuex导出我的存储文件,请确保已安装vuex。商店”等,但我的loadCalls函数仍然无法正常工作。

这是我得到的错误:

this.$store.loadCalls is not a function

这是我的函数以及如何尝试调用它,它在store.js文件的ACTIONS部分中声明。

loadCalls() {
   axios
        .get("/some/calls")
        .then(res => {
          console.log(res)
        });
},

当组件加载时,我尝试在beforeMount()中使用它:

beforeMount(){
    this.$store.loadCalls();
}

我在这里做什么错了?

1 个答案:

答案 0 :(得分:2)

如果您定义了以下操作:

actions: {
  loadCalls() {
    // ...
  }
}

然后您将这样称呼它:

this.$store.dispatch('loadCalls');

操作不会直接公开,您可以使用dispatch对其进行调用。

https://vuex.vuejs.org/guide/actions.html#dispatching-actions