为了账号安全,请及时绑定邮箱和手机立即绑定

可以把ajax请求的数据存到vuex的state里面吗?

可以把ajax请求的数据存到vuex的state里面吗?

繁花不似锦 2019-02-09 15:47:17
需求:我有一组数据通过ajax请求而来,但多个组件内都有用到。我应该怎么做让这组数据任何组件都能用到呢?对vuex理解不多。现有Code:store.jslet 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.vuethis.$store.dispatch("updateLoopImg");// -------------------------------------------error:vuex.esm.js?edaa:364 [vuex] unknown mutation type: getLoopImg
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

你可以指定一个Mutation 在其中发起ajax 然后拿到了res之后就state.xx = res

接下来在某个你需要的hook里commit一下这个mutation 去驱动他

之后就可以在组件内部 this.$store.state.xx 获取到这个数据 很简单的 如果你需要异步的一些操作就需要actions


查看完整回答
反对 回复 2019-02-13
  • 1 回答
  • 0 关注
  • 460 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信