1、概念vue
vuex是一個專爲vue.js應用程序開發的狀態管理模式(它採用集中式存貯管理應用的全部組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化)。vuex
2、五大核心屬性緩存
核心屬性爲:state,getter,mutation,action,module異步
state:存儲數據,存儲狀態;在根實例中註冊了store 後,用 this.$store.state
來訪問;對應vue裏面的data;存放數據方式爲響應式,vue組件從store中讀取數據,如數據發生變化,組件也會對應的更新。函數
getters:能夠認爲是 store 的計算屬性,至關於 vue中的 computed,依賴於 state裏面的值。它的返回值會根據它的依賴被緩存起來,且只有當它的依賴值發生了改變纔會被從新計算。this
mutations:用於修改狀態,store裏面的數僅能經過mutations
裏面的方法改變,可是必須是同步的。更改 vuex 的 store 中的狀態的惟一方法是提交 mutation,也就是$store.commit。spa
actions:包含任意異步操做,用它處理完後再觸發mutations來改變狀態。code
module:將 store 分割成模塊,每一個模塊都具備state、mutation、action、getter、甚至是嵌套子模塊。blog
3、vuex的數據傳遞流程開發
當組件進行數據修改的時候咱們須要調用Dispatch來觸發Actions裏面的方法。
actions裏面的每一個方法中都會有一個commit方法,當方法執行的時候會經過commit來觸發mutations裏面的方法進行數據的修改。
mutations裏面的每一個函數都會有一個state參數,這樣就能夠在mutations裏面進行state的數據修改,當數據修改完畢後,會傳導給頁面。頁面的數據也會發生改變。