vuex?mutation?action同級調(diào)用方式
更新時間:2022年03月28日 12:02:48 作者:zhooson
這篇文章主要介紹了vuex?mutation?action同級調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
mutation action同級調(diào)用
mutatiion
同級調(diào)用:this.commit
action
同級調(diào)用: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(() => { dispatch('addCountBAction') }, 2000); // 或者 thiis.dispatch('addCountBAction') } }
mutation和action區(qū)別
const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } }, actions: { increment (context) { context.commit('increment') } } })
1、流程順序
“相應(yīng)視圖—>修改State”拆分成兩部分,視圖觸發(fā)Action,Action再觸發(fā)Mutation。
2、角色定位
基于流程順序,二者扮演不同的角色。
Mutation
:專注于修改State,理論上是修改State的唯一途徑。Action
:業(yè)務(wù)代碼、異步請求。
3、限制
角色不同,二者有不同的限制。
Mutation
:必須同步執(zhí)行。Action
:可以異步,但不能直接操作State。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue+element-ui集成隨機驗證碼+用戶名+密碼的form表單驗證功能
在登入頁面,我們往往需要通過輸入驗證碼才能進行登入,那我們下面就詳講一下在vue項目中如何配合element-ui實現(xiàn)這個功能,需要的朋友可以參考下2018-08-08基于elementUI使用v-model實現(xiàn)經(jīng)緯度輸入的vue組件
這篇文章主要介紹了基于elementUI使用v-model實現(xiàn)經(jīng)緯度輸入的vue組件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05