教你快速明白和搭建Vuex工作環(huán)境

vuex工作工作原理(寫給自己看的筆記以加深自己的理解)

一、Vuex工作原理

首先我們先來了解下Vuex:

????? 1芒划、概念

? ? ? 在vue中實現(xiàn)集中式狀態(tài)(數(shù)據(jù))管理的一個Vue插件穿剖,對Vue應(yīng)用中多個組件的共享狀態(tài)進(jìn)行集中式的管理(讀/寫)蚤蔓,也是一種組件間通信的方式,且適用于任意組件間通信糊余。

? ? ? 2秀又、何時使用单寂?

? ? ? 多個組件需要共享數(shù)據(jù)時


現(xiàn)在開始進(jìn)入vuex的世界!


當(dāng)多組件需要共用一組數(shù)據(jù)時候 最好的做法就是使用Vuex


需要共享的數(shù)據(jù)存儲在State中涮坐,里面可以存放許許多多的功用數(shù)據(jù)


從左側(cè)Vue Components出發(fā) 調(diào)用 dispath函數(shù) 可傳入兩個參數(shù) dispath('要調(diào)用的方法名',要傳入的值)


調(diào)用dispatch之后 就來到了Action? Action中一定有個與之對應(yīng)的方法在這邊觸發(fā) 在這個方法里會調(diào)用commit函數(shù) 同時原封不動的把dispatch帶過來的參數(shù)-------{ mutation('要調(diào)用的方法名',要傳入的值) } ---------給到Mutation


在Mutation中一定會有個我們帶過來的方法名 這里mutation的這個函數(shù)中 會拿到兩個東西----->一個是所有state中存儲的數(shù)據(jù)凄贩,一個就是我們一些傳入進(jìn)來的值??? 在這個函數(shù)中我們只需要寫我們希望傳入進(jìn)來的值做怎樣的操作(希望這個值做出怎樣的改變)也就是最終寫邏輯的地方



這里可能會疑惑 既然commit做的工作與dispath工作相同 為什么多此一舉這一步?袱讹?疲扎?

下面來解答一下:

在Action中我們可以進(jìn)行一些有條件的操作,比如我們傳入的值需要從后端服務(wù)器獲取捷雕,那么就必須走action椒丧, 又比如我們要使 點擊一個按鈕一個數(shù)字增加 當(dāng)是奇數(shù)的時候不加 偶數(shù)增加 這個也是條件 !就要走action這個邏輯救巷。


如果我們只是簡單的執(zhí)行一個沒有任何條件的動作 可以省去dispath走到action這一步壶熏。直接commit與Mutation對話!


說到這里我們 我們大概能明白Action浦译、Mutation棒假、State這一套工作流程就是Vuex的工作 他們由store統(tǒng)一管理 所以當(dāng)我們?nèi)フ{(diào)用API的時候 要寫為store.dispatch()、store.commit()


但是需要注意的是 我們要讓所有的組件實例對象vc都能看的到store 因為這些方法不是存放在window上的精盅。接下來我們?nèi)ゴ罱ㄒ幌聉uex的工作環(huán)境帽哑。



二、搭建Vuex工作環(huán)境

1叹俏、第一步安裝

???? npm i vuex

2妻枕、第二步使用vuex

????? 在入口文件main.js中使用下vuex

?????? 先引入vuex

??????? import vuex from 'vuex'

?????? 使用vuex

??? Vue.use(vuex)


完成這兩步之后,我們就可以在vm中創(chuàng)建store配置項粘驰,如果不先完成以上兩步屡谐,直接在vm中創(chuàng)建store配置項會報錯!

在vm中:store:store??? 可以直接簡寫為store

到這里所有的組件實例對象上都多了個$store???


寫到這里最核心的內(nèi)容來了蝌数。愕掏。。顶伞。store管理著Action饵撑、Mutation、State 還有dispatch和commit兩個API

我需要去創(chuàng)建一個store來完成這一步枝哄!

3肄梨、創(chuàng)建store文件

?????? 創(chuàng)建:src/store/index.js

? ? ? ? //引入vue核心庫

? ? ? ? import Vue from 'vue'

? ? ? ? //引入vueX

? ? ? ? import Vuex from 'vuex'

? ? ? ? //應(yīng)用插件

? ? ? ? Vue.use(Vuex)

? ? ? ? //準(zhǔn)備actions對象--響應(yīng)組件中用戶的動作

? ? ? ? const actions = {}

? ? ? ? //準(zhǔn)備mutatins對象--修改state中的數(shù)據(jù)

? ? ? ? const mutations = {}

? ? ? ? //準(zhǔn)備state對象--保存具體的數(shù)據(jù)

? ? ? ? const state = {}

? ? ? ? //創(chuàng)建并暴露store

? ? ? ? export default new Vuex.Store({

? ? ? ? ? actions,

? ? ? ? ? mutations,

? ? ? ? ? state

? ? ? ? })????? 創(chuàng)建好store文件后要去入口文件main.js中引入一下


這邊寫完之后可能會報一個錯誤 這是由于import引入文件引起的 報錯的原因就是先引入了store 后使用了vuex 并且調(diào)換編寫順序也是不可行的 因為import會自動提升到最上方


解決方法:

在入口文件main.js中去引入vue阻荒。然后使用vuex 就可以解決這個問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末挠锥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子侨赡,更是在濱河造成了極大的恐慌蓖租,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蓖宦,死亡現(xiàn)場離奇詭異齐婴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柠偶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蔫仙,“玉大人摇邦,你說我怎么就攤上這事施籍。” “怎么了挑秉?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵法梯,是天一觀的道長。 經(jīng)常有香客問我犀概,道長立哑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任姻灶,我火速辦了婚禮铛绰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘产喉。我一直安慰自己捂掰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布曾沈。 她就那樣靜靜地躺著这嚣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塞俱。 梳的紋絲不亂的頭發(fā)上姐帚,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音障涯,去河邊找鬼罐旗。 笑死膳汪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的九秀。 我是一名探鬼主播遗嗽,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鼓蜒!你這毒婦竟也來了痹换?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤都弹,失蹤者是張志新(化名)和其女友劉穎晴音,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缔杉,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锤躁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了或详。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片系羞。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖霸琴,靈堂內(nèi)的尸體忽然破棺而出椒振,到底是詐尸還是另有隱情,我是刑警寧澤梧乘,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布澎迎,位于F島的核電站,受9級特大地震影響选调,放射性物質(zhì)發(fā)生泄漏夹供。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一仁堪、第九天 我趴在偏房一處隱蔽的房頂上張望哮洽。 院中可真熱鬧,春花似錦弦聂、人聲如沸鸟辅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匪凉。三九已至,卻和暖如春捺檬,著一層夾襖步出監(jiān)牢的瞬間再层,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留树绩,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓隐轩,卻偏偏與公主長得像饺饭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子职车,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容