vuex study第五节actions异步修改状态

首先在store声明actions

//声明actions
const actions = {
    //context表示上下文对象  即store
    addAction(context){
        context.commit('add',10);
        //延迟3秒执行一次reduce
        setTimeout(() => {context.commit('reduce')},3000);
        //如果console比上面的先出来,而不是按顺序执行上面的代码执行完再执行console,即为异步
    console.log("我比reduce先执行了");
    },
    //commit包装对象
    reduceAction({ commit }){
        commit('reduce');
    }
}

//导出
export default new Vuex.Store({
    //导出状态常量
    state,
    //导出mutations
    mutations,
    //导出getters
    getters,
    //导出actions
    actions
})

然后修改Count.vue组件

//增加mapActions 
import { mapState,mapMutations,mapGetters,mapActions } from 'vuex'


//扩展方法 
methods:{
            ...mapMutations(['add','reduce']),
            ...mapActions(['addAction','reduceAction'])
        }
//调用
<button @click="addAction">+</button>
<button @click="reduceAction">-</button>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值