需求:
我有一组数据通过ajax请求而来,但多个组件内都有用到。
我应该怎么做让这组数据任何组件都能用到呢?
对vuex
理解不多。
现有Code:
store.js
let actions = {
updateLoopImg (context) {
context.commit('getLoopImg');
}
}
let mutation = {
getLoopImg(state) {
this.axios.get("api/setting/get_loop_img")
.then(res => {
state.loop_sec = res.data.loop_sec;
state.loop_img = res.data.data.loop_img;
})
}
}
// -------------------------------------------
a.vue
this.$store.dispatch("updateLoopImg");
// -------------------------------------------
error:
vuex.esm.js?edaa:364 [vuex] unknown mutation type: getLoopImg
感谢大佬的回答
你可以指定一个Mutation 在其中发起ajax 然后拿到了res之后就state.xx = res
接下来在某个你需要的hook里commit一下这个mutation 去驱动他
之后就可以在组件内部 this.$store.state.xx 获取到这个数据 很简单的 如果你需要异步的一些操作就需要actions