每個vuex的應用的核心都是store(倉庫),store基本上就是一個容器,它包含着你的應用中大部分的狀態(state),vuex和單純的全局對象有如下兩點不一樣:html
1,vuex的狀態存儲是響應式的。當vue組件從store中讀取狀態的時候,若store中的狀態發生變化,那麼相應的組件也會相應的獲得高效更新。vue
2,你不能直接改變store中的狀態。改變store中的狀態的惟一途徑就是顯式的提交(commit)mutations.這樣使得咱們能夠方便的跟蹤每個狀態的變化,從而讓咱們可以實現一些工具幫助咱們更好的瞭解咱們的應用。vuex
安裝 Vuex 以後,讓咱們來建立一個 store。建立過程直截了當——僅須要提供一個初始 state 對象和一些 mutations:工具
const store = new Vuex.Store({htm
state:{對象
count:0rem
},get
mutations:{it
increment(state){io
state.count++
}
}
})
如今,你能夠經過store.state來獲取狀態對象,以及經過store,commit方法觸發狀態變動
store.commit('icrement')
console.log(store.state.count)
再次強調,咱們經過提交mutation的方式,而非直接改變store.state.count,是由於咱們想要更明確地追蹤到狀態變化,這個簡單的約定能讓你的意圖更加明顯,這樣你在閱讀代碼的時候能更容易的解讀應用內部的狀態改變,