對于vuex原理的簡單理解

流程圖

如圖示岖妄,Vuex為Vue Components建立起了一個完整的生態(tài)圈鹉勒,包括開發(fā)中的API調(diào)用一環(huán)迹栓。圍繞這個生態(tài)圈拐格,簡要介紹一下?流程 and?各模塊在核心流程中的主要功能

核心流程:

① Vue Components 是我們的 vue 組件僧免,組件會觸發(fā)(dispatch)一些事件或動作,也就是圖中的 Actions捏浊;

② 我們在組件中發(fā)出的動作懂衩,肯定是想獲取或者改變數(shù)據(jù)的,但是在 vuex 中金踪,數(shù)據(jù)是集中管理的勃痴,我們不能直接去更改數(shù)據(jù),所以會把這個動作提交(Commit)到 Mutations 中热康;

③ 然后 Mutations 就去改變(Mutate)State 中的數(shù)據(jù)沛申;

④ 當(dāng) State 中的數(shù)據(jù)被改變之后,就會重新渲染(Render)到 Vue Components 中去姐军,組件展示更新后的數(shù)據(jù)铁材,完成一個流程。

各模塊在核心流程中的主要功能:

Vue Components:Vue組件奕锌。HTML頁面上著觉,負(fù)責(zé)接收用戶操作等交互行為,執(zhí)行dispatch方法觸發(fā)對應(yīng)action進(jìn)行回應(yīng)惊暴。

dispatch:操作行為觸發(fā)方法饼丘,是唯一能執(zhí)行action的方法。

actions:操作行為處理模塊辽话。負(fù)責(zé)處理Vue Components接收到的所有交互行為肄鸽。包含同步/異步操作卫病,支持多個同名方法,按照注冊的順序依次觸發(fā)典徘。向后臺API請求的操作就在這個模塊中進(jìn)行蟀苛,包括觸發(fā)其他action以及提交mutation的操作。該模塊提供了Promise的封裝逮诲,以支持action的鏈?zhǔn)接|發(fā)帜平。

commit:狀態(tài)改變提交操作方法。對mutation進(jìn)行提交梅鹦,是唯一能執(zhí)行mutation的方法裆甩。

mutations:狀態(tài)改變操作方法。是Vuex修改state的唯一推薦方法齐唆,其他修改方式在嚴(yán)格模式下將會報錯嗤栓。該方法只能進(jìn)行同步操作,且方法名只能全局唯一蝶念。操作之中會有一些hook暴露出來抛腕,以進(jìn)行state的監(jiān)控等芋绸。

state:頁面狀態(tài)管理容器對象媒殉。集中存儲Vue components中data對象的零散數(shù)據(jù),全局唯一摔敛,以進(jìn)行統(tǒng)一的狀態(tài)管理廷蓉。頁面顯示所需的數(shù)據(jù)從該對象中進(jìn)行讀取,利用Vue的細(xì)粒度數(shù)據(jù)響應(yīng)機(jī)制來進(jìn)行高效的狀態(tài)更新马昙。

getters:state對象讀取方法桃犬。圖中沒有單獨(dú)列出該模塊,應(yīng)該被包含在了render中行楞,Vue Components通過該方法讀取全局state對象攒暇。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市子房,隨后出現(xiàn)的幾起案子形用,更是在濱河造成了極大的恐慌,老刑警劉巖证杭,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件田度,死亡現(xiàn)場離奇詭異,居然都是意外死亡解愤,警方通過查閱死者的電腦和手機(jī)镇饺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來送讲,“玉大人奸笤,你說我怎么就攤上這事惋啃。” “怎么了揭保?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵肥橙,是天一觀的道長。 經(jīng)常有香客問我秸侣,道長存筏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任味榛,我火速辦了婚禮椭坚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搏色。我一直安慰自己善茎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布频轿。 她就那樣靜靜地躺著垂涯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪航邢。 梳的紋絲不亂的頭發(fā)上耕赘,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音膳殷,去河邊找鬼操骡。 笑死,一個胖子當(dāng)著我的面吹牛赚窃,可吹牛的內(nèi)容都是我干的册招。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼勒极,長吁一口氣:“原來是場噩夢啊……” “哼是掰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辱匿,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤键痛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后掀鹅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體散休,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年乐尊,在試婚紗的時候發(fā)現(xiàn)自己被綠了戚丸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖限府,靈堂內(nèi)的尸體忽然破棺而出夺颤,到底是詐尸還是另有隱情,我是刑警寧澤胁勺,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布世澜,位于F島的核電站,受9級特大地震影響署穗,放射性物質(zhì)發(fā)生泄漏寥裂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一案疲、第九天 我趴在偏房一處隱蔽的房頂上張望封恰。 院中可真熱鬧,春花似錦褐啡、人聲如沸诺舔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽低飒。三九已至,卻和暖如春懂盐,著一層夾襖步出監(jiān)牢的瞬間褥赊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工允粤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留崭倘,地道東北人翼岁。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓类垫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親琅坡。 傳聞我的和親對象是個殘疾皇子悉患,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

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

  • VUE Vue :數(shù)據(jù)驅(qū)動的M V Vm框架 m :model(后臺提供數(shù)據(jù)),v :view(頁面)榆俺,vM(模板...
    wudongyu閱讀 5,389評論 0 11
  • 安裝 npm npm install vuex --save 在一個模塊化的打包系統(tǒng)中售躁,您必須顯式地通過Vue.u...
    蕭玄辭閱讀 2,929評論 0 7
  • Vuex是什么? Vuex 是一個專為 Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式茴晋。它采用集中式存儲管理應(yīng)用的所有組件...
    蕭玄辭閱讀 3,111評論 0 6
  • vuex 場景重現(xiàn):一個用戶在注冊頁面注冊了手機(jī)號碼陪捷,跳轉(zhuǎn)到登錄頁面也想拿到這個手機(jī)號碼,你可以通過vue的組件化...
    sunny519111閱讀 8,010評論 4 111
  • vuex是一個狀態(tài)管理模式诺擅,通過用戶的actions觸發(fā)事件市袖,然后通過mutations去更改數(shù)據(jù)(你也可以說狀態(tài)...
    Ming_Hu閱讀 2,020評論 3 3