vuex基本介紹

介紹:

?? ? ?本文主要介紹vuex 中五個(gè)核心概念的基本用法佳恬,幫助對(duì)于不太看懂官方文檔的同學(xué)

前提:

1. 熟悉vue的基本用法(至少官方的api大概都會(huì)用)

2.能創(chuàng)建基本vue-cli腳手架

3.熟悉es6(也叫es2015),去看一下阮一峰e(cuò)s6入門(箭頭函數(shù),解構(gòu)賦值优床,擴(kuò)展運(yùn)算符旧蛾,module悲龟,這幾個(gè)比較重要常見访娶,也非常有用)

準(zhǔn)備階段:

1.搭建完一個(gè)基本vue-cli 腳手架

1.安裝vuex,

? ? ? ? ? 命令行輸入 ?`npm install vuex`

2.完成2個(gè)組件和一個(gè)stroe.js文件


hello.vue文件

ctrl.vue文件

text.vue

store.js

在main.js 將vuex注入到vue實(shí)例中

運(yùn)行效果圖


組件獲取state 兩種方法獲取

1.$store.state.list??(直接獲取 數(shù)據(jù)量小用這個(gè)就行)

2.利用mapState映射 (數(shù)據(jù)量大復(fù)雜用這個(gè))

...mapState(['list']) 這種里面是數(shù)組寫法怀酷,組件用list來獲取

...mapState({ls:'list'}) 這種里面是對(duì)象寫法稻爬,組件用ls來獲取(ls就是list新的名字)

組件獲取getters方法??getters就是state的一個(gè)計(jì)算屬性蜕依,類似 vue實(shí)例里面的data和computed桅锄,兩種方法獲取

1.$store.getters.getTexts(直接獲取)

2.利用mapGetters映射

...mapGetters(['getTexts']) 這種里面是數(shù)組寫法,方法用getTexts來獲取

...mapGetter({gt:'getTexts'}) 這種里面是對(duì)象寫法样眠,組件用gt來獲扔蚜觥(ge就是GetText新的名字)

組件獲取mutations方法并觸發(fā)

1.$store.commit('add',[11,22,33,44,55,66]) (在組件點(diǎn)擊事件里面直接觸發(fā))

2.利用mapMutations映射

...mapMutations(['add']) 這種里面是數(shù)組寫法,方法用add來使用

...mapMutations({ad:'add'}) 這種里面是對(duì)象寫法檐束,組件用ad來使用(ad就是add新的名字)

組件獲取actions方法并觸發(fā)

1.$store.dispatch('add',[11,22,33,44,55,66]) (在組件點(diǎn)擊事件里面直接觸發(fā))

2.利用mapMutations映射

...mapActions(['asyncfn']) 這種里面是數(shù)組寫法辫秧,方法用add來使用

...mapActions({afn:'asyncfn'}) 這種里面是對(duì)象寫法,組件用afn來使用(afn就是asyncfn新的名字)

ps:這也是醉了厢塘,第一次寫簡(jiǎn)書茶没,死活復(fù)制不了代碼,干脆就一起圖片文字一起寫了

利用module 將store數(shù)據(jù)劃分更細(xì)的模塊

user.js

project.js 和user.js 一樣晚碾,就是list 數(shù)據(jù)不一樣

store.js文件


ctrl.vue文件

test.vue文件

運(yùn)行效果圖

整理一下

獲取不同的模塊下面的state數(shù)據(jù)抓半,

<pre>this.$store.state.a.list</pre>

獲取不同模塊的getters和mutations和actions,首先將namespaced:true屬性格嘁,加入模塊這樣每一個(gè)getters笛求,mutations,actions都會(huì)有各組模塊的前綴糕簿,之后利用mapGetter來將getter里面的方法映射到我們的組件中(如果不加namespaced:true屬性探入,所有的模塊的getters下面的方法會(huì)在一個(gè)命名空間內(nèi),(也就是在一個(gè)對(duì)象內(nèi))懂诗,你只能讓getters下面的每個(gè)方法名字不一樣才能正常獲取蜂嗽,如果方法名字重復(fù)了,你只能獲取第一個(gè))

```

...mapGetter('a/',[

? ? ? ?'getText'

])

```

或者

```

...mapGetter('a/',{

? ? ? ?gt:'getText'

})

```

或者

```

...mapGetter({

? ? ? ?gt:'a/getter'

})

```

同理 殃恒,利用mapMutations和mapAction將mutations和actions頁getters類似


最后后在組件中直接調(diào)用就行了植旧,

ps:就算不加入namespaced:true屬性也是可以的,這樣你必須讓所有模塊內(nèi)部getters离唐,里面的方法名字不一樣病附,才能利用this.$store.getters.(獨(dú)一無二的名字).或者mapgetters映射(不加入模塊名字的情況下)使用,mutations亥鬓,actions也是一樣的完沪。


真的蛋疼,這個(gè)代碼塊弄了好久弄不出來嵌戈,只好全是圖片了覆积,大家湊合看吧。咕别。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末技健,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惰拱,更是在濱河造成了極大的恐慌雌贱,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偿短,死亡現(xiàn)場(chǎng)離奇詭異欣孤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)昔逗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門降传,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勾怒,你說我怎么就攤上這事婆排∩” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵段只,是天一觀的道長(zhǎng)腮猖。 經(jīng)常有香客問我,道長(zhǎng)赞枕,這世上最難降的妖魔是什么澈缺? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炕婶,結(jié)果婚禮上姐赡,老公的妹妹穿的比我還像新娘。我一直安慰自己柠掂,他們只是感情好项滑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涯贞,像睡著了一般杖们。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肩狂,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天摘完,我揣著相機(jī)與錄音,去河邊找鬼傻谁。 笑死孝治,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的审磁。 我是一名探鬼主播谈飒,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼态蒂!你這毒婦竟也來了杭措?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤钾恢,失蹤者是張志新(化名)和其女友劉穎手素,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘩蚪,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泉懦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疹瘦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崩哩。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邓嘹,到底是詐尸還是另有隱情酣栈,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布汹押,位于F島的核電站钉嘹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鲸阻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一缨睡、第九天 我趴在偏房一處隱蔽的房頂上張望鸟悴。 院中可真熱鬧,春花似錦奖年、人聲如沸细诸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽震贵。三九已至,卻和暖如春水评,著一層夾襖步出監(jiān)牢的瞬間猩系,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工中燥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寇甸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓疗涉,卻偏偏與公主長(zhǎng)得像拿霉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咱扣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • 安裝 npm npm install vuex --save 在一個(gè)模塊化的打包系統(tǒng)中绽淘,您必須顯式地通過Vue.u...
    蕭玄辭閱讀 2,934評(píng)論 0 7
  • vuex 場(chǎng)景重現(xiàn):一個(gè)用戶在注冊(cè)頁面注冊(cè)了手機(jī)號(hào)碼,跳轉(zhuǎn)到登錄頁面也想拿到這個(gè)手機(jī)號(hào)碼闹伪,你可以通過vue的組件化...
    sunny519111閱讀 8,015評(píng)論 4 111
  • Vuex是什么沪铭? Vuex 是一個(gè)專為 Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件...
    蕭玄辭閱讀 3,114評(píng)論 0 6
  • 這兩天在做Vue移動(dòng)端的項(xiàng)目偏瓤,正好用到了Vuex伦意,記錄一下相關(guān)知識(shí)。 一硼补、安裝 npm yarn Vuex是Vue...
    婷樓沐熙閱讀 7,684評(píng)論 2 2
  • Vuex 的學(xué)習(xí)記錄 資料參考網(wǎng)址Vuex中文官網(wǎng)Vuex項(xiàng)目結(jié)構(gòu)示例 -- 購(gòu)物車Vuex 通俗版教程N(yùn)uxt....
    流云012閱讀 1,457評(píng)論 0 7