前言
為什么要用vuex進行狀態(tài)管理陪毡?
- 在業(yè)務(wù)簡單的項目中米母,完全沒有必要因為覺得vuex高大上,就使用它毡琉,也許一個全局對象就能解決你的問題铁瞒。
- 如果是業(yè)務(wù)復(fù)雜的中大型項目,vuex將會有效的幫助我們管理狀態(tài)桅滋。比如多個組件(父子組件慧耍,兄弟組件)共享狀態(tài)身辨,有些情況通過傳參也不容易解決。
vuex圖解
- store
store就像一個倉庫芍碧,里面存儲著所有應(yīng)用層級的state煌珊, - getter
主要用來從store中獲取state的具體值 - mutations
每個mutation都有一個字符串的事件類型(type)
和一個回調(diào)函數(shù)(handler)
。
回調(diào)函數(shù)就是實際進行狀態(tài)更改的地方泌豆。 - actions
action用來提交mutation定庵,而不是直接變更狀態(tài)。
demo
源碼請點擊這里
以計數(shù)器為例子踪危,父組件用于展示count的值蔬浙;點擊子組件A,count會減一贞远;點擊子組件B畴博,count會加一。
- store存儲count
- 父組件通過getter獲取count蓝仲,用于展示
- 子組件分發(fā)mutation