Vuex入門

(1)簡單的頁面中使用單向數(shù)據(jù)流
image.png
(2)vuex的流程圖
image.png
(3)store

由于 store 中的狀態(tài)是響應(yīng)式的溜宽,在組件中調(diào)用 store 中的狀態(tài)簡單到僅需要在計(jì)算屬性中返回即可。觸發(fā)變化也僅僅是在組件的 methods 中提交 mutation


為什么需要使用vuex?

  • 多個(gè)視圖依賴于同一狀態(tài)胁澳。
  • 來自不同視圖的行為需要變更同一狀態(tài)
(4)還是從一個(gè)計(jì)數(shù)器開始

在vuecli里面使用vuex還是講究一點(diǎn)規(guī)矩的

  1. 進(jìn)行包的安裝 cnpm i vuex --save
  2. 在src下新建一個(gè)store文件夾鹿驼,store下新建一個(gè)index.js
    3.每當(dāng)使用插件欲低,一定要記得引入,并使用Vue.use()

image.png

image.png

方法中傳入state參數(shù)就不再需要this

  1. 創(chuàng)建好store倉庫以后就需要組件來調(diào)用狀態(tài)畜晰,更新狀態(tài)砾莱,之前還應(yīng)該有一個(gè)步驟將這個(gè)store倉庫注冊到全局,通過this.$store來進(jìn)行全局調(diào)用


    image.png


  1. 接下來就可以再全局進(jìn)行使用凄鼻,組件直接去調(diào)用腊瑟,使用store里面的數(shù)據(jù)最好通過計(jì)算屬性來渲染,更新還是通過methods,但是不是直接去操作state块蚌,而是通過mutations


    image.png

(5)getters

對state里面的數(shù)據(jù)進(jìn)行過濾封裝處理闰非,然后在計(jì)算屬性里面還是通過this.$store.getters.methodName進(jìn)行調(diào)用(可以認(rèn)為是 store 的計(jì)算屬性),就像計(jì)算屬性一樣峭范,getter 的返回值會根據(jù)它的依賴被緩存起來财松,且只有當(dāng)它的依賴值發(fā)生了改變才會被重新計(jì)算


Getter 也可以接受其他 getter 作為第二個(gè)參數(shù)


在上一個(gè)Demo中進(jìn)行增加


image.png

image.png

晦澀難懂


image.png

getters必須寫在組件的計(jì)算屬性里面,頁面展示可以直接調(diào)纱控,但是在方法里面調(diào)用需要加上this

(6)mutations

唯一的更新state數(shù)據(jù)的方法游岳,在組件中commit的時(shí)候類似JQ的trigger方法
如果要使用 ...mapMutations([ ])輔助方法并在頁面創(chuàng)建時(shí)調(diào)用以獲取數(shù)據(jù)必須寫在methods里面,然后去created里面調(diào)用mapmutation里面的方法

(7)Action
image.png

雖然還沒深刻領(lǐng)悟到為什么要在mutation上再加一層其徙,但是怎么用還是要明白的胚迫,現(xiàn)在唯一知道的就是可以組件向action傳參(mutation也可以傳參,主要差別還是一個(gè)是同步唾那,一個(gè)是異步)


自然還是先創(chuàng)建action,通過提交mutation里面的方法來傳遞參數(shù)


image.png

在組件里面又是如何來處理呢访锻?既然對象都變了褪尝,方法肯定也變了,使用
this.$store.dispatch("actionName", param)來分發(fā)


image.png

  1. ES6的寫法

image.png

(8)

使用 Vuex 并不意味著你需要將所有的狀態(tài)放入 Vuex期犬。雖然將所有的狀態(tài)放到 Vuex 會使?fàn)顟B(tài)變化更顯式和易調(diào)試河哑,但也會使代碼變得冗長和不直觀。如果有些狀態(tài)嚴(yán)格屬于單個(gè)組件龟虎,最好還是作為組件的局部狀態(tài)

(9)坑爹的getters

要想獲取state里面的數(shù)據(jù)璃谨,必須通過計(jì)算屬性來返回,另外不能直接通過
this.$store.state.data來獲取數(shù)據(jù)

(10)
image.png
(11)開啟嚴(yán)格模式
image.png
(12)總結(jié)一下

我發(fā)現(xiàn)人啊就是容易忘記鲤妥,我有幾次都能記得getters, mutations, actions,就是不記得用什么來觸發(fā)了佳吞,或者記不起那兩個(gè)單詞了

  • commit --> mutations(同步)
  • dispatch --> actions(異步)
(13)關(guān)于vuex的使用

使用vuex開發(fā)管理系統(tǒng),開始是頭非常暈的棉安,狀態(tài)總是易變的底扳,還相互影響,后面想明白了贡耽,不是什么地方都需要狀態(tài)管理的衷模,除了登錄的用戶信息以及Token的處理,其他地方還是正常的去用axios拉取數(shù)據(jù)渲染蒲赂,直接與后臺交互阱冶,沒必要使用vuex,就是用來保存登錄狀態(tài)滥嘴,結(jié)合本地存儲

(14)Bus總線

通過實(shí)例化一個(gè)vue實(shí)例賦值給Bus

(15)vuex結(jié)合表單

通過觸發(fā)輸入函數(shù)來commit mutation

image.png
(16)actions(mutations)與v-model的結(jié)合

對于commit或者dispatch進(jìn)來的對象不能進(jìn)行直接添加到state里木蹬,需要重新構(gòu)造一個(gè)對象
不然會導(dǎo)致v-model綁定到state中的對應(yīng)數(shù)據(jù),并會關(guān)聯(lián)同名屬性都變成輸入值

image.png
(17)啟用vuex logger插件
image.png
(18)
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氏涩,一起剝皮案震驚了整個(gè)濱河市届囚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌是尖,老刑警劉巖意系,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饺汹,居然都是意外死亡蛔添,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門兜辞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迎瞧,“玉大人,你說我怎么就攤上這事逸吵⌒坠瑁” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵扫皱,是天一觀的道長足绅。 經(jīng)常有香客問我捷绑,道長,這世上最難降的妖魔是什么氢妈? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任粹污,我火速辦了婚禮,結(jié)果婚禮上首量,老公的妹妹穿的比我還像新娘壮吩。我一直安慰自己,他們只是感情好加缘,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布鸭叙。 她就那樣靜靜地躺著,像睡著了一般生百。 火紅的嫁衣襯著肌膚如雪递雀。 梳的紋絲不亂的頭發(fā)上柄延,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天蚀浆,我揣著相機(jī)與錄音,去河邊找鬼搜吧。 笑死市俊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的滤奈。 我是一名探鬼主播摆昧,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜒程!你這毒婦竟也來了绅你?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤昭躺,失蹤者是張志新(化名)和其女友劉穎忌锯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體领炫,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡偶垮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帝洪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片似舵。...
    茶點(diǎn)故事閱讀 40,912評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葱峡,靈堂內(nèi)的尸體忽然破棺而出砚哗,到底是詐尸還是另有隱情,我是刑警寧澤砰奕,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布蛛芥,位于F島的核電站泌参,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏常空。R本人自食惡果不足惜沽一,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望漓糙。 院中可真熱鬧铣缠,春花似錦、人聲如沸昆禽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽醉鳖。三九已至捡硅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盗棵,已是汗流浹背壮韭。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纹因,地道東北人喷屋。 一個(gè)月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像瞭恰,于是被迫代替她去往敵國和親屯曹。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評論 2 361