2018-03-13

Vuex 進(jìn)階——模塊化組織 Vuex

前兩篇講解了一下 Vuex 的基本使用方法,可是在實(shí)際項(xiàng)目中那么寫(xiě)肯定是不合理的甸箱,如果組件太多蘸拔,不可能把所有組件的數(shù)據(jù)都放到一個(gè)?store.js?中的,所以就需要模塊化的組織 Vuex添忘,首先看一下?項(xiàng)目結(jié)構(gòu)散庶。


項(xiàng)目結(jié)構(gòu)

一蕉堰、首先執(zhí)行以下命令:

vue init webpack-simple vuex-demo

cd vuex-demo

npm install

npm install vuex -S

npm run dev

二凌净、按照上圖結(jié)構(gòu)創(chuàng)建文件目錄


Vuex 模塊化目錄

三、編寫(xiě)文件

我們就延用上兩篇文章中的例子屋讶。先說(shuō)一個(gè)各個(gè)文件的作用

types.js內(nèi)定義常量冰寻,使用常量替代 mutation 事件類型

user.js內(nèi)寫(xiě)該user組件內(nèi)用到的state、getters皿渗、actions和mutations斩芭,并最后統(tǒng)一導(dǎo)出(類似上個(gè)例子中的 store.js )

getters.js內(nèi)寫(xiě)原來(lái)的getters,用來(lái)獲取屬性

actions.js內(nèi)寫(xiě)原來(lái)的actions乐疆,就是要執(zhí)行的動(dòng)作划乖,如流程的判斷、異步請(qǐng)求

index.js是用來(lái)組裝 actions.js 挤土、 getters.js 琴庵、user.js 的,然后進(jìn)行統(tǒng)一的導(dǎo)出

1. 在?main.js?中導(dǎo)入?index.js?文件并注冊(cè)


2. 在?types.js?內(nèi)定義?常量?并導(dǎo)出仰美,默認(rèn)全部大寫(xiě)


注意:把這些常量放在單獨(dú)的文件中可以讓你的代碼合作者對(duì)整個(gè) app 包含的 mutation 一目了然迷殿。用不用常量取決于你——在需要多人協(xié)作的大型項(xiàng)目中,這會(huì)很有幫助咖杂。但如果你不喜歡庆寺,你完全可以不這樣做。

3.?user.js?內(nèi)寫(xiě)該?user?組件內(nèi)用到的?state?诉字、?getters?止邮、?actions?和?mutations


注意:上方?mutations?中的?[types.INCREMENT]?寫(xiě)法,因?yàn)?types.INCREMENT?是一個(gè)對(duì)象奏窑,所以不能直接當(dāng)做一個(gè)函數(shù)名來(lái)寫(xiě),需要用到 ES2015 風(fēng)格的計(jì)算屬性命名功能來(lái)使用一個(gè)常量作為函數(shù)名屈扎,方能正常使用埃唯,原來(lái)的寫(xiě)法為:

constmutations ={

?????????????????increment(state){?

?????????????????????????????state.count ++;?

?????????}

}

4.?getters.js?內(nèi)寫(xiě)原來(lái)的判斷奇偶數(shù)方法

5.?actions.js?內(nèi)寫(xiě)原來(lái)的異步操作


6. 在?index.js?中組裝 actions.js 、 getters.js 鹰晨、user.js 的墨叛,然后統(tǒng)一導(dǎo)出



7.?Vue.app?文件不作任何修改


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市模蜡,隨后出現(xiàn)的幾起案子漠趁,更是在濱河造成了極大的恐慌,老刑警劉巖忍疾,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闯传,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡卤妒,警方通過(guò)查閱死者的電腦和手機(jī)甥绿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)字币,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人共缕,你說(shuō)我怎么就攤上這事洗出。” “怎么了图谷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵翩活,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我便贵,道長(zhǎng)菠镇,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任嫉沽,我火速辦了婚禮辟犀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绸硕。我一直安慰自己堂竟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布玻佩。 她就那樣靜靜地躺著出嘹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咬崔。 梳的紋絲不亂的頭發(fā)上税稼,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音垮斯,去河邊找鬼郎仆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛兜蠕,可吹牛的內(nèi)容都是我干的扰肌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼熊杨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼曙旭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起晶府,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桂躏,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后川陆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體剂习,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了进倍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土至。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖猾昆,靈堂內(nèi)的尸體忽然破棺而出陶因,到底是詐尸還是另有隱情,我是刑警寧澤垂蜗,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布楷扬,位于F島的核電站,受9級(jí)特大地震影響贴见,放射性物質(zhì)發(fā)生泄漏烘苹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一片部、第九天 我趴在偏房一處隱蔽的房頂上張望镣衡。 院中可真熱鬧,春花似錦档悠、人聲如沸廊鸥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惰说。三九已至,卻和暖如春缘回,著一層夾襖步出監(jiān)牢的瞬間吆视,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工酥宴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啦吧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓拙寡,卻偏偏與公主長(zhǎng)得像丰滑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子倒庵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • 安裝 npm npm install vuex --save 在一個(gè)模塊化的打包系統(tǒng)中,您必須顯式地通過(guò)Vue.u...
    蕭玄辭閱讀 2,937評(píng)論 0 7
  • Vuex是什么炫刷? Vuex 是一個(gè)專為 Vue.js應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式擎宝。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件...
    蕭玄辭閱讀 3,117評(píng)論 0 6
  • vuex 狀態(tài)管理器 作為應(yīng)用中所有組件的中央儲(chǔ)存 只能以預(yù)定的方式去操作狀態(tài) 把所有組件共享的狀態(tài)抽取出來(lái)作為全...
    一只大椰子閱讀 790評(píng)論 0 1
  • react導(dǎo)入依賴 react由兩部分組成: react 包和 react-dom ,語(yǔ)法都是ES6 import...
    Nevermind閱讀 150評(píng)論 0 0
  • 上班 1.volte word文檔的書(shū)寫(xiě) 收獲 1.vuex module 2.promise3.axios4.a...
    王zm閱讀 161評(píng)論 0 1