vuex的同级调用模式,变异动作动作_数据库
这篇文章主要介绍了vuex?mutation?action同级调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
mutation action同级调用mutatiion同级调用:this.commitaction同级调用:this.dispatch// 同步const mutations = { add(state, payload) { state.countB += 10 }, plus(state, payload) { this.commit('add') }}// 异步(定时器等)const actions = { addCountBAction({ state, commit }, payload) { commit('add', payload) }, plusCountBToAAction({ state, commit, dispatch, getters, rootState, rootGetters }, payload) { // https://vuex.vuejs.org/zh/api/#actions setTimeout(() =gt; { dispatch('addCountBAction') }, 2000); // 或者 thiis.dispatch('addCountBAction') }}
mutation和action区别const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { increment (context) { context.commit('increment') } }})
1、流程顺序
ldquo对应视图;gt;修改状态;分成两部分,视图触发动作,动作触发突变。
2、角色定位
基于过程顺序,两者扮演不同的角色。
Mutation:专注于修改State,理论上是修改State的唯一途径。Action:业务代码、异步请求。
3、限制
不同的角色有不同的限制。
Mutation:必须同步执行。Action:可以异步,但不能直接操作State。
以上个人经验,希望能给你一个参考,也希望你能支持一下搜源网。