vuex 有五個(gè)屬性
State:定義了應(yīng)用狀態(tài)的數(shù)據(jù)結(jié)構(gòu),可以在這里設(shè)置默認(rèn)的初始狀態(tài)。
Getter:允許組件從 Store 中獲取數(shù)據(jù),mapGetters 輔助函數(shù)僅僅是將 store 中的 getter 映射到局部計(jì)算屬性。
Mutation:是唯一更改 store 中狀態(tài)的方法,且必須是同步函數(shù)。
Action:用于提交 mutation,而不是直接變更狀態(tài),可以包含任意異步操作。
Module:允許將單一的 Store 拆分為多個(gè) store 且同時(shí)保存在單一的狀態(tài)樹中。
獲取state里狀態(tài)
const state = {
'a',
'b',
'c'
}
1. this.$store.state.某屬性
2. computed:{
...mapGetters([
'a',
'b',
'c'
])
}
更改狀態(tài)
1.同步更改mutations
this.$store.commit('a',value)
2.異步更改action。action中通過commit觸發(fā)mutations進(jìn)行state數(shù)據(jù)更改
3.頁面中
this.$store.commit('a',value) 同步更改,觸發(fā)mutations
this.$store.dispatth(action中的含函數(shù),params) 觸發(fā)action中函數(shù)