vuex里面的數(shù)據(jù)一般我們就不另辟蹊徑了幕庐,直接就用state表示醋粟,state接下來(lái)就是vuex里面的數(shù)據(jù)代號(hào)了凤价。? ??
state一般都存儲(chǔ)在一個(gè)叫store(倉(cāng)庫(kù))里面褥蚯,vuex要求我們是不能直接去修改store里面的state的凿滤,想要修改store里面的數(shù)據(jù)妈橄,我們要用到一個(gè)叫mutations的東西,這個(gè)mutations是我們自己定義的翁脆,vuex官方既然就叫它mutations眷蚓,那我們也這么寫好了(其實(shí)把它定義成 aaa bbb都可以,這里只是為了讓跟我一樣的小白萬(wàn)一看到了不要執(zhí)著于為什么要這樣叫)反番,mutations里面放的是一些修改數(shù)據(jù)的方法沙热,這些方法都是一些同步的操作(同步的操作:互不影響,我執(zhí)行我的你執(zhí)行你的罢缸,不存在誰(shuí)要等誰(shuí)先執(zhí)行完了)
vuex里面還有一個(gè)表示動(dòng)作的東西叫做actions(同mutations一樣可以自己定義)篙贸,在組件里面我們可以去分配要執(zhí)行的動(dòng)作,可以是異步操作枫疆,比如:在actions里面去向后臺(tái)接口獲取數(shù)據(jù)爵川,完成以后在actions里面再去? 提交? mutations的方法,達(dá)到修改state里面的某些數(shù)據(jù)息楔。(加粗的‘提交’寝贡,這里涉及到一個(gè)翻譯過(guò)來(lái)的方法叫 commit扒披,例舉一個(gè)簡(jiǎn)單的方法吧,這樣說(shuō)怕還是不夠形象
)
getters —— 基于store里面的state去計(jì)算出各種不同類型的值圃泡,getters的作用可以理解為官方專門定義這個(gè)方法碟案,用來(lái)整理項(xiàng)目中所有對(duì)state數(shù)據(jù)進(jìn)行計(jì)算的小方法,不用getters也是可以寫的颇蜡,只不過(guò)用了代碼結(jié)構(gòu)看上去會(huì)更清晰价说。具體的寫法如下:
當(dāng)getters里面的方法很多的時(shí)候澡匪,那我們就需要在? .vue? 的組件當(dāng)中寫很多的 this.$store.getters.xx (xx代表getters里面的方法) 熔任,那重復(fù)寫很多個(gè)這樣的東西是很煩人的,于是vuex官方定義了 mapGetters這樣一個(gè)東西唁情,它的作用就是不用寫辣么多同樣的代碼了疑苔,