Vuex簡介
- 什麼是vuex:
vuex是一個把多個組件通用的數據 我們把它拿出來,然後放到一個store裏面管理,在需要使用的組件裏面,我們可以拿出來使用
- 關於store
store基本上就是一個容器,包含着你的應用中大部分的狀態(state)
- 關於state
state就是我們項目全局通用的data的屬性,並且這些屬性是響應式的,也就是當屬性發生改變時,state也會回動態響應的
- 關於getter
getter可以使我們從需要從store中的state中派生出一些狀態,例如對列表進行過濾並計數;
Vuex允許我們在store容器中定義getter(可以理解爲store的計算屬性),就像計算屬性一樣;
getter的返回值會根據它的依賴被緩存起來,且只有當他的依賴值發生了改變纔會被重新計算;
- 關於Mutation
更改store中的state狀態的 唯一方法 就是提交mutation。Vuex中的mutation非常類似於事件,每個mutation都有一個字符串的類型事件(type)和一個回調函數(handle),這個海帶哦函數就是我們實際進行狀態更改的地方,並且會受state作爲第一個參數;
你可以聯想我們網頁綁定事件機制:類型事件click和回調函數handle,是不是方便理解了呢
- 關於Action
Action 類似於mutation 區別
1. action提交的是mutation,而不是直接修改store中state,mutation纔是唯一能改狀態的
2. 可以包含任意異步操作
or
1. Action 提交的是 mutation,而不是直接變更狀態。
2. Action 可以包含任意異步操作(mutation裏邊是不能包含異步操作的,因爲無法追蹤狀態改變)。
store.dispatch負責分發
- 關於module
由於使用單一狀態樹,應用的所有狀態會集中到一個比較大的對象,當應用變得非常複雜時,store對象就有可能變得非常臃腫,
Use the steps Description
- 安裝
npm install vuex --save
- 創建倉庫
- 使用:
this.$store.state.變量名 就可以獲取 與賦值