zoukankan      html  css  js  c++  java
  • vuex 派发action进行异步获取数据

    在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操作 。

     具体如何管理数据还是看具体的环境。

  • 相关阅读:
    printf和sprintf
    操作数、运算符、表达式
    全自动加法机
    Ascll、GB2312、Ansi
    数组
    循环
    编程命名规范
    浮点数及缺陷
    Android编码规范
    RGB着色对照表
  • 原文地址:https://www.cnblogs.com/junwu/p/11195596.html
Copyright © 2011-2022 走看看