vuex是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式, 采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài)拔恰,解決多組件數(shù)據(jù)通信抑片。(簡(jiǎn)單來(lái)說(shuō)就是管理數(shù)據(jù)的,相當(dāng)于一個(gè)倉(cāng)庫(kù),里面存放著各種需要共享的數(shù)據(jù),所有組件都可以拿到里面的數(shù)據(jù))
它的五個(gè)屬性
1.state 統(tǒng)一定義管理公共數(shù)據(jù)
2.mutations: 使用它來(lái)修改數(shù)據(jù)
3.getters: 類似于vue中的計(jì)算屬性
4.actions: 類似于methods,可以用于發(fā)起異步請(qǐng)求,比如axios
5.modules: 模塊拆分
需要注意的是:
在組件中修改state要使用mutations
通過(guò)this.$store.commit('mutation事件名',mapper參數(shù))可以修改state里面的數(shù)據(jù)
注意點(diǎn)
要修改vuex中的數(shù)據(jù),就要使用mutations去修改
actions與mutations的區(qū)別
是actions可以進(jìn)行異步操著
actions 可以進(jìn)行異步操作仇味,可用于向后臺(tái)提交數(shù)據(jù)或者接受后臺(tái)的數(shù)據(jù);mutations 中是同步操作材失,用于將數(shù)據(jù)信息寫(xiě)在全局?jǐn)?shù)據(jù)狀態(tài)中緩存痕鳍。
modules模塊區(qū)分
vuex中只能由一個(gè)store對(duì)象,但是隨著應(yīng)用變得非常復(fù)雜時(shí)龙巨,index.js中會(huì)變得非常臃腫笼呆,為了解決這個(gè)問(wèn)題,vuex有了模塊這個(gè)功能旨别,允許我們把store劃分成多個(gè)模塊诗赌,每個(gè)模塊都有自己的state,mutations秸弛,acitons铭若,getters,