我正在尝试使用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();
}
我在这里做什么错了?
答案 0 :(得分:2)
如果您定义了以下操作:
actions: {
loadCalls() {
// ...
}
}
然后您将这样称呼它:
this.$store.dispatch('loadCalls');
操作不会直接公开,您可以使用dispatch
对其进行调用。
https://vuex.vuejs.org/guide/actions.html#dispatching-actions