Vue中的狀態(tài)管理是通過(guò)store來(lái)實(shí)現(xiàn)的。Vuex中的commit方法被用來(lái)改變store中的狀態(tài)。commit方法會(huì)同步地改變store中的狀態(tài),存儲(chǔ)在store中的數(shù)據(jù)會(huì)被更新,視圖也會(huì)立即進(jìn)行更新,以反映狀態(tài)的變化。
mutations: { increment(state) { state.count++ } }, actions: { increment({commit}) { commit('increment') } }
在以上示例代碼中,mutations是用來(lái)改變store中的狀態(tài)的方法的對(duì)象,increment是其中的一個(gè)方法,它用來(lái)將狀態(tài)中的count屬性值加1。actions中的increment方法是將commit方法與mutations中increment方法進(jìn)行關(guān)聯(lián),在調(diào)用actions中的increment方法時(shí),會(huì)將increment方法委托給commit方法,從而達(dá)到改變store中的狀態(tài)的目的。
同時(shí),由于commit方法是同步的,因此可以保證store中的值都是最新的。當(dāng)我們調(diào)用increment方法時(shí),在Vuex中進(jìn)行了一些列的操作,最終store中的狀態(tài)會(huì)被更新。因此,在調(diào)用完increment方法后,我們可以直接獲取到最新的狀態(tài)。這就是commit方法的同步特性的好處。