Vuex(state/mutations/getters)

Vuex是什么调煎?

Vuex是Vue配套的公共數(shù)據(jù)管理工具污茵,我們可以將共享的數(shù)據(jù)保存到Vuex中搞莺,方便項(xiàng)目中的任何組件獲取和修改vuex中的數(shù)據(jù)更哄。

為什么要使用Vuex?

在企業(yè)開發(fā)中,我們遇到兩個(gè)問題:
1啸如、如果想要在子組件中使用祖先組件的數(shù)據(jù)侍匙,只能一級(jí)一級(jí)的往下傳遞,很麻煩叮雳!
2丈积、兄弟組件間不能直接傳遞數(shù)據(jù),若兄弟組件間想要傳遞數(shù)據(jù)债鸡,只能借助父組件!
解決方法:使用Vuex

Vuex共享數(shù)據(jù):

在Vuex中:

1铛纬、State 屬性是 Vuex 這一狀態(tài)管理工具的唯一的數(shù)據(jù)源厌均,所有的共享數(shù)據(jù)都儲(chǔ)存在里面( 類似data)。
2告唆、mutation屬性 是 Vuex 中改變 state 唯一的方法棺弊。
mutation的使用與事件處理函數(shù)非常相似,都具有類型和回調(diào)函數(shù)(類似methods擒悬,不過獲取state中的變量不是this.變量名模她,而是state.變量名)。
3懂牧、getters屬性類似組件中的計(jì)算屬性(computed),當(dāng)數(shù)據(jù)被調(diào)用過且沒發(fā)生改變時(shí)侈净,之后的調(diào)用就到緩存區(qū)中找。
使用getters中的數(shù)據(jù):this.$store.gettters.方法名

在組件中:

1僧凤、先在祖先組件中保存共享數(shù)據(jù)(后代組件可直接使用): store:store
2畜侦、使用共享: this.$store.state.數(shù)據(jù)名
3、調(diào)用Vuex的mutations中的函數(shù)修改共享:this.$store.commit('方法名')
4躯保、 使用getters中的數(shù)據(jù):this.$store.getters.方法名
e.g.

export default new Vuex.Store({
  state: {  // 保存共享數(shù)據(jù)旋膳,類似data
    count: 0
  },
  mutations: {  // 保存修改共享數(shù)據(jù)的方法 ,類似methods
    decrement (state) {
      state.count--
    },
    increment (state) {
      state.count++
    }
  },
  getters:{//類似計(jì)算屬性computed
    fn (state) {
      return state.count+"拼接內(nèi)容"
    }
  }
})

在組件中:

<template>
  <div class="about">
    <button @click="mAdd">增加</button>
    <button @click="mSub">減少</button>
    //2途事、使用共享數(shù)據(jù)  this.$store.state.數(shù)據(jù)名
    <span>{{this.$store.state.msg}}</span>
    //使用getters:this.$store.getters.方法名
    <span>{{this.$store.getters.fn}}</span>
  </div>
</template>

export default {
  data () {
    return {
      count: 1
    }
  },
//1验懊、先在祖先組件中保存共享數(shù)據(jù)擅羞,后代組件可直接使用
  store:store,
  methods:{
    mAdd (){
      //調(diào)用Vuex的mutations中的函數(shù)修改共享數(shù)據(jù)
      this.$store.commit("increment");
    },
    mSub () {
      this.$store.commit("decrement");
    } 
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市义图,隨后出現(xiàn)的幾起案子减俏,更是在濱河造成了極大的恐慌,老刑警劉巖歌溉,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垄懂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡痛垛,警方通過查閱死者的電腦和手機(jī)草慧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匙头,“玉大人漫谷,你說我怎么就攤上這事□逦觯” “怎么了舔示?”我有些...
    開封第一講書人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)电抚。 經(jīng)常有香客問我惕稻,道長(zhǎng),這世上最難降的妖魔是什么蝙叛? 我笑而不...
    開封第一講書人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任俺祠,我火速辦了婚禮,結(jié)果婚禮上借帘,老公的妹妹穿的比我還像新娘蜘渣。我一直安慰自己,他們只是感情好肺然,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開白布蔫缸。 她就那樣靜靜地躺著,像睡著了一般际起。 火紅的嫁衣襯著肌膚如雪拾碌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評(píng)論 1 290
  • 那天加叁,我揣著相機(jī)與錄音倦沧,去河邊找鬼。 笑死它匕,一個(gè)胖子當(dāng)著我的面吹牛展融,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豫柬,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼告希,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼扑浸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起燕偶,我...
    開封第一講書人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬榮一對(duì)情侶失蹤喝噪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后指么,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酝惧,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年伯诬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晚唇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盗似,死狀恐怖哩陕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赫舒,我是刑警寧澤悍及,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站接癌,受9級(jí)特大地震影響心赶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缺猛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一园担、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枯夜,春花似錦、人聲如沸艰山。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)曙搬。三九已至摔吏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纵装,已是汗流浹背征讲。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橡娄,地道東北人诗箍。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挽唉,于是被迫代替她去往敵國(guó)和親滤祖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子筷狼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349