zoukankan      html  css  js  c++  java
  • Vuex action 异步函数

    action与Mutation类似,Mutation用于同步函数,action用于异步函数。

    异步函数需要通过先action再传递到mutations,这样才能被Devtools记录下来。

    使用方法

    1 组件发布行为 dispatch

    srcApp.vue

        methods:{
          addition(){
            this.$store.commit(INCREMENT)
          },
          updateInfo(){
           // this.$store.commit('updateInfo')
            this.$store.dispatch('aUpdateInfo')
          }
        }

    2 传入actions 

    srcstoreindex.js

      actions:{
        //context 上下文
        aUpdateInfo(context){
          setTimeout(()=>{
            context.commit('updateInfo')
          },1000)
        }
      },

    3 传入mutations

    srcstoreindex.js

     mutations:{
        updateInfo(state){
          state.info.name = '喵喵'
    }
    }

    结果

    这样的异步操作就可以在Devtools里捕获到了

    带参数和回调

    1 组件发布行为 dispatch

    srcApp.vue

     updateInfo(){
           // this.$store.commit('updateInfo')
            this.$store.dispatch('aUpdateInfo','我是携带的信息')
              .then(res=>{
                console.log(res);
              })
          }

    2 传入actions 

    srcstoreindex.js

      actions:{
        //context 上下文
        aUpdateInfo(context,payload){
          return new Promise((resolve,reject)=>{
            setTimeout(()=>{
              context.commit('updateInfo')
              console.log(payload);
              resolve('我完成了')
            },1000)
          })
        }
      },

    3 传入mutations

    srcstoreindex.js

      mutations:{
        updateInfo(state){
          state.info.name = '喵喵'
        }
      },

    结果

  • 相关阅读:
    sort函数详解
    C++重载运算符的规则详解
    poj3061-subsequence
    员工管理系统 :练习
    Jdbc 模拟登陆系统的练习
    有关String 的常用方法
    浅谈希尔排序-----摘录
    简单选择排序
    typedef 和define 的区别
    写博客的理由
  • 原文地址:https://www.cnblogs.com/polax/p/13233375.html
Copyright © 2011-2022 走看看