1考赛、vuex有哪幾種屬性惕澎?
有五種,分別是 State颜骤、 Getter唧喉、Mutation 、Action忍抽、 Module
2八孝、vuex的State特性是?
(1)Vuex就是一個(gè)倉庫鸠项,倉庫里面放了很多對象干跛。其中state就是數(shù)據(jù)源存放地,對應(yīng)于與一般Vue對象里面的data
(2)state里面存放的數(shù)據(jù)是響應(yīng)式的祟绊,Vue組件從store中讀取數(shù)據(jù)楼入,若是store中的數(shù)據(jù)發(fā)生改變,依賴這個(gè)數(shù)據(jù)的組件也會(huì)發(fā)生更新
三牧抽、它通過mapState把全局的 state 和 getters 映射到當(dāng)前組件的 computed 計(jì)算屬性中
3嘉熊、vuex的Getter特性是?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)getters 可以對State進(jìn)行計(jì)算操作扬舒,它就是Store的計(jì)算屬性? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2) 雖然在組件內(nèi)也可以做計(jì)算屬性阐肤,但是getters 可以在多組件之間復(fù)用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3) 如果一個(gè)狀態(tài)只在一個(gè)組件內(nèi)使用,是可以不用getters
4讲坎、vuex的Mutation特性是孕惜?
(1)Action 類似于 mutation,不同在于:
(2)Action 提交的是 mutation晨炕,而不是直接變更狀態(tài)衫画。
5、Vue.js中ajax請求代碼應(yīng)該寫在組件的methods中還是vuex的actions中府瞄?
(1)如果請求來的數(shù)據(jù)是不是要被其他組件公用碧磅,僅僅在請求的組件內(nèi)使用碘箍,就不需要放入vuex 的state里遵馆。
(2)如果被其他地方復(fù)用,這個(gè)很大幾率上是需要的丰榴,如果需要货邓,請將請求放入action里,方便復(fù)用四濒,并包裝成promise返回换况,在調(diào)用處用async await處理返回的數(shù)據(jù)职辨。如果不要復(fù)用這個(gè)請求,那么直接寫在vue文件里很方便戈二。
6舒裤、不用Vuex會(huì)帶來什么問題?
(1)可維護(hù)性會(huì)下降觉吭,你要想修改數(shù)據(jù)腾供,你得維護(hù)三個(gè)地方
(2)可讀性會(huì)下降,因?yàn)橐粋€(gè)組件里的數(shù)據(jù)鲜滩,你根本就看不出來是從哪來的
(3)增加耦合伴鳖,大量的上傳派發(fā),會(huì)讓耦合性大大的增加徙硅,本來Vue用Component就是為了減少耦合榜聂,現(xiàn)在這么用,和組件化的初衷相背嗓蘑。
接下來會(huì)給大家分享更多的有關(guān)vue的知識(shí)须肆,歡迎大家探討。