vuex 筆記整理
- 在vuex出來之前,咱們怎麼管理咱們的狀態?
data --> state
template --> view
methods --> actions
一個表示「單向數據流」理念的極簡示意
vue--(dispath)->actions---(modify state)-->state---(render)->vue ... 如此循環下去
![圖片描述 圖片描述](http://static.javashuo.com/static/loading.gif)
vuex的出現,在actions 和state之間多了一層 mutations
vue--(dispath)--> actions--(commit)-->mutations--(modidy)-->state--(render)-->vue ... 如此單向數據流循環下去。
再細分下 actions-->mutations-->state 就是vuex
- state
Vuex 使用單一狀態樹,即每一個應用將僅僅包含一個 store 實例,但單一狀態樹和模塊化並不衝突。能夠同時設置多個子模塊,統一由一個store來管理
- mutations
下面一句話至關重要
更改 Vuex 的 store 中的狀態的惟一方法是提交 mutation
重要原則
mutation 必須是同步函數
如何必定是同步函數呢?
假設當你能調用了兩個包含異步回調的 mutation 來改變狀態,你怎麼知道何時回調和
哪一個先回調呢?
- action
當vue組件dispath一個action後,會提交的是 一個mutation,從而間接變動狀態state
而且能夠是異步操做
最簡單的調用如:store.dispatch('increment')
參考文獻html
歡迎關注本站公眾號,獲取更多信息