Action 类似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接变更状态. Action 是异步的,mutation是同步的。
沿用vuex学习---简介的案例:这里是加10 减1
1.在store.js 中 代码为:
import Vue from"vue" import Vuex from"vuex" //使用vuex模块 Vue.use(Vuex); //声明静态常量为4 const state = { count : 4 }; const mutations = { add(state,n){ state.count +=n.a; }, sub(state){ state.count--; } }; const actions = { //2种书写方式 addplus(context){//可以理解为代表了整个的context context.commit("add",{a:10}) }, subplus({commit}){ commit("sub"); } }; //导出一个模块 exportdefaultnewVuex.Store({ state, mutations, actions })
2.在App.vue中 代码如下:
这是vuex的示例
组件内部count{{count}}
<script> //引入mapGetters import {mapState,mapMutations,mapGetters,mapActions} from"vuex" exportdefault{ name:"app", data(){ return{ } }, computed:{ ...mapState([ "count" ]), }, methods:{ ...mapActions([ "addplus", "subplus" ]) } } </script>
【vuex actions异步】vuex学习之Actions的用法详解
http://m.bbyears.com/flash/135705.html
推荐访问: