vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可**的方式發生變化。
vuex的五個核心概念
1.state: vuex使用單一狀態樹,使用乙個物件包含了所以的應用狀態。至此它便作為唯一的資料來源而存在,即每個應用中只存在乙個state物件。
2.getter:相當於vue中的computed(計算屬性),在vue元件中讀取狀態更多是通過getters而不是直接讀取state中的資料。例:
computed:}
3.mutation:vuex中更改狀態的唯一途徑, 與vue中的methods很像,你可以在其中定義改變狀態的方法(每個方法都可接收兩個引數(state, [data 可不寫]))。例:
mutation:}
4.action:雖然mutation可改變vuex的狀態值,但是只能實現同步操作,在很多時候需要用到非同步,因此需要action,主要有兩個作用:
5.module: 由於vuex使用單一狀態樹,應用的所有狀態都會集中到乙個物件中,當應用十分複雜時state物件會變得十分龐大。為了解決這個問題vuex允許將store分成模組module,每個模組有state,getter,mutation,action。也可以巢狀子模組,從上至下以同樣的方法分割。
const modulea =,mutations: ,
actions: ,
getters:
}const moduleb =,
mutations: ,
actions:
}const store = new
vuex.store(
})
專案結構
├── index.html├── main.js
├── api
│ └── ... # 抽取出api請求
├── components
│ └── ...
└── store
├── index.js # 我們組裝模組並匯出 store 的地方
├── actions.js # 根級別的 action
├── mutations.js # 根級別的 mutation
└── modules
├── cart.js # 購物車模組
└── products.js # 產品模組
vuex 使用思路總結
1.vuex是什麼?是一種資料狀態管理機制。2.vuex的構成和作用 state 存放需要被管理的屬性的物件 getters 方便在state中做集中處理,可以把state作為第乙個引數 mutations 直接操作state物件中屬性的值 同步操作 actions 通過操作mutation來改變s...
Vuex基本使用的總結
vuex 背後的基本思想 把元件的共享狀態抽取出來,以乙個全域性單例模式管理,在這種模式下,我們的元件樹構成了乙個巨大的 檢視 不管在樹的哪個位置,任何元件都能獲取狀態或者觸發行為!另外,通過定義和隔離狀態管理中的各種概念並強制遵守一定的規則,我們的 將會變得更結構化且易維護。特點 vuex 的狀態...
Vuex基本使用之總結
在 vue 的單頁面應用中使用,需要使用vue.use vuex 呼叫外掛程式。使用非常簡單,只需要將其注入到vue根例項中。import vuex from vuex vue.use vuex const store newvuex.store getter mutations actions 注...