在vuex里 我想统一管理异步的操作,受到redux-thunk的启发,可以让vuex派发action,在action执行异步请求axios,在把异步获取的数据到mutation,但感觉这么做会把接口数据跟state绑定,感觉还是按照具体环境灵活应用较好。
假如我组件的mounted 有这么个获取接口数据的方法 getGene
getGene(){ this.$store.dispatch('getGeneAction'); //getDatamingData().then(this.getGeneSucc); /* axios.get(urlApi.datamining) .then(this.getGeneSucc); */ },
*注释掉的是以前直接在方法中获取接口数据
在我的store里actions.js
getGeneAction(ctx,item){ console.log('getGeneAction'); //调用axios getDatamingData().then((res) => { ctx.commit('GETGENEMUTATION',res); }); }
派发一个GETGENEMUTATION mutation
GETGENEMUTATION(state,item){ //console.log(item.data.obj); state.geneObj = item.data.obj; }
这样就有了一个vuex

我之前的做法是在父组件获取异步数据 然后把数据再派发给子组件 子组件在对数据进行vuex操作 。
具体如何管理数据还是看具体的环境。
本文探讨了在Vuex中统一管理异步操作的方法,受redux-thunk启发,通过在actions中使用axios进行异步请求,然后将数据提交到mutations,实现数据状态的更新。讨论了组件mounted阶段获取数据的具体实现,以及数据管理的灵活性。
1万+

被折叠的 条评论
为什么被折叠?



