因此,我试图通过axios获取静态json数据,并将其提交到vuex中的“项目”状态,但我得到了错误消息"Store.commit不是一个函数“。
我是不是遗漏了什么?
请记住,我是在Vue3的vuex中执行此操作的。
//store.js
import axios from 'axios';
import { createStore, Store } from 'vuex'
export default createStore({
state: {
projects:[]
},
mutations: {
SET_PROJECTS: (state, projects) => {
state.projects = projects;
}
},
actions: {
},
modules: {
}
});
const getPrjectData = () => {
axios
.get('static json URL here')
.then(response => {
Store.commit('SET_PROJECTS', response.data.projects);
})
.catch(err => console.log(err));
}
getPrjectData();
发布于 2021-01-12 15:59:20
将函数转换为操作:
actions: {
getPrjectData({ commit }) {
axios
.get('static json URL here')
.then(response => {
commit('SET_PROJECTS', response.data.projects);
})
.catch(err => console.log(err));
}
}
调用操作,如下所示:
选项API
this.$store.dispatch('getPrjectData');
组合API
import { useStore } from 'vuex'
export default {
setup() {
const store = useStore();
store.dispatch('getPrjectData');
}
}
https://stackoverflow.com/questions/65679771
复制相似问题