vuex的使用龄减,vuex輔助函數(shù)髓窜、muduld的詳解(文章下邊)

1)什么事Vuex

????Vuex是一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式---所有頁面共享的變量

2)Vuex在什么情況下進(jìn)行使用

在項(xiàng)目過大的時(shí)候采取使用,項(xiàng)目量較小的時(shí)候是繁瑣冗余的
官網(wǎng)的說
如果您不打算開發(fā)大型單頁應(yīng)用欺殿,使用 Vuex 可能是繁瑣冗余的寄纵。確實(shí)是如此——如果您的應(yīng)用夠簡單,您最好不要使用 Vuex脖苏。

3)使用步驟

(以vue2.x腳手架為例)

3.1)下載安裝:npm install vuex
3.2)在src文件夾下--->創(chuàng)store--->index.js 這個(gè)文件就是vuex狀態(tài)管理

在文件中

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const Store =new Vuex.Store({
state:{},//數(shù)據(jù)存儲
mutations:{},//更改數(shù)據(jù)
actions:{}//觸發(fā)程拭,調(diào)用更改數(shù)據(jù)
getters:{//計(jì)算(類似computed)可以說是一個(gè)橋梁,不用直接訪問state
getState(state){returen state.msg}//這樣訪問這個(gè)就相當(dāng)于訪問state中的msg
}棍潘,
muduld:{newmuduld//這里是模塊名字}//模塊恃鞋,每個(gè)模塊都擁有這五種方法和屬性
})
export default Store

在main.js引入

import store from './store/index'//index可省略
在vue實(shí)例中進(jìn)行注冊new Vue({//這里 store})

在頁.vue組件中使用

獲取樣式:this.$store.state.count

methods中用在
this.$store.commit("cNum")

//cNum----->mutations定義的函數(shù)---》修改state值 cNum(state){state.num++} 同步

this.$store.dispatch("acNum")

//acNum--->actions定義的函數(shù)---->函數(shù)在觸發(fā)-》 mutations中定義函數(shù) ---》修改state值 異步(同步不可以操作異步,異步可以操作同步的)

getters在頁面.vue的computed計(jì)算這里用
computed:{getMsg(){renturn this.$store.getters.getState}}
//這樣調(diào)用getters中定義的定義

Vuex輔助函數(shù)---》

作用亦歉,就是使用更加的簡潔(少敲代碼恤浪,少掉點(diǎn)頭發(fā)),使得在使用的.vue頁面中訪問storevuex頁面更加的方便簡介一點(diǎn)
在那個(gè).vue文件用肴楷,就在那里引用所要使用的 輔助函數(shù)

使用:在.vue

在沒有引入vuex輔助函數(shù)的時(shí)候我們使用是
this.$store.commit("cNum")---》同步

this.$store.dispatch("acNum")異步

this.$store.state.count---》獲取變量

this.$store.getters.getState---》計(jì)算變量
在引入vuex函數(shù)后在訪問就變成
引用:import {mapGetters,mapMutations,mapState,mapAction} from 'vuex'
擴(kuò)展:
其中mapMutations和mapAction
在methods進(jìn)行擴(kuò)展出來...mapAction(["one","two"]/{"one":"o1","two":"t2"}) 水由,
mapGetters和mapState
在computed中進(jìn)行擴(kuò)展...mapState(['num']) ...mapGetters(['userInfo'])

調(diào)用使用:
this.two()--->mapMutations和mapAction
this.num--->mapGetters和mapState


以...mapGetters(["one","two"]/{"one":"o1","two":"t2"}) 為例詳解:

[]/{}中寫的是在store中定義好的方法名,所以調(diào)用的時(shí)候就不再使用this.$store.getters.one而是直接this.one就可以訪問到數(shù)值了
[]和{} 數(shù)組和對象可以赛蔫,但是數(shù)組要 名字一樣砂客,對象可以改名,可以不改名字


Vuex模塊化(優(yōu)化)
將實(shí)例里的參數(shù)呵恢,獨(dú)立出一個(gè)模塊鞠值,然后在引用的index.js
state,
mutations,
actions,
getters, 將以上四個(gè)獨(dú)立模塊,
state.js---》let state ={}; export.default state //其余三個(gè)相同方法 (各個(gè)模塊中若是用到彼此渗钉,在各個(gè)頁面中可相互引用)
在store文件夾---》index.js 引入 這四個(gè)模塊


axios調(diào)取接口存到state數(shù)據(jù)里
在actions調(diào)用---》在mutations存值----》存到state
注意:各模塊中使用的別的模塊的內(nèi)容彤恶,要在模塊中進(jìn)行引用


muduld詳解和使用

muduld模塊,每個(gè)模塊都擁有這五種方法和屬性state,mutations声离,actions歇竟,getters,muduld
上述中我們只是說有一倉庫的時(shí)候的使用抵恋,
muduld是在大倉庫中放入的小倉庫
在主index文件中

index的store文件.png

創(chuàng)建引入的這user/order.js中的內(nèi)容---每個(gè)模塊可有可沒有焕议,但都支持


user.png

在小倉庫user/order創(chuàng)建命名空間---使小倉庫獨(dú)立


命名.png

在頁面.vue中的使用
引入方式.png

然后使用的方式就和上述中的使用方式一樣,訪問每個(gè)小倉庫中的那樣使用

調(diào)用使用:
this.two()--->mapMutations和mapAction
this.num--->mapGetters和mapState


不使用命名空間的使用------稍微帶一嘴


使用0.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弧关,一起剝皮案震驚了整個(gè)濱河市盅安,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌世囊,老刑警劉巖别瞭,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異株憾,居然都是意外死亡蝙寨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門嗤瞎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墙歪,“玉大人,你說我怎么就攤上這事贝奇『绶疲” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵掉瞳,是天一觀的道長毕源。 經(jīng)常有香客問我,道長陕习,這世上最難降的妖魔是什么霎褐? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮该镣,結(jié)果婚禮上冻璃,老公的妹妹穿的比我還像新娘。我一直安慰自己拌牲,他們只是感情好俱饿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布歌粥。 她就那樣靜靜地躺著塌忽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪失驶。 梳的紋絲不亂的頭發(fā)上土居,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼擦耀。 笑死棉圈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眷蜓。 我是一名探鬼主播分瘾,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吁系!你這毒婦竟也來了德召?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤汽纤,失蹤者是張志新(化名)和其女友劉穎上岗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕴坪,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肴掷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了背传。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呆瞻。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖径玖,靈堂內(nèi)的尸體忽然破棺而出栋烤,到底是詐尸還是另有隱情,我是刑警寧澤挺狰,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布明郭,位于F島的核電站,受9級特大地震影響丰泊,放射性物質(zhì)發(fā)生泄漏薯定。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一瞳购、第九天 我趴在偏房一處隱蔽的房頂上張望话侄。 院中可真熱鬧,春花似錦学赛、人聲如沸年堆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽变丧。三九已至,卻和暖如春绢掰,著一層夾襖步出監(jiān)牢的瞬間痒蓬,已是汗流浹背童擎。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留攻晒,地道東北人顾复。 一個(gè)月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像鲁捏,于是被迫代替她去往敵國和親芯砸。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353