Vuex

Vuex是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式厂镇,其store管理多個(gè)組件共享狀態(tài)

一诀拭、安裝

npm install vuex --save

二疫向、使用

在項(xiàng)目src下新建store文件夾吹缔,然后創(chuàng)建index.js商佑,import所需的模塊,Vue.use()使用插件

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

實(shí)例化Vuex中的Store對象

const store = new Vuex.Store({
    state: {  //類似 vue實(shí)例對象 的 data
          name:"張三"
    },  
    mutactions: {  //類似 vue實(shí)例對象 的 methods
          getname(state[,params]) {  //后面可接收傳過來的參數(shù)
                console.log(state.name) //輸出'張三'
          }
    },  
    getters: {  //類似 vue實(shí)例對象 的 computed
          name11(state) {
                return state.name + '11'
          },
          fullname(state,getters) { //不接受傳參厢塘,若要傳參請使用callback
                return getters.name11 + 'fullname'  //getters.name11返回的數(shù)據(jù)進(jìn)行加工
          } 
     },  
    actions: {  //存放執(zhí)行異步操作的函數(shù)
          getdata(context[,params]) {  //context 即 store對象 茶没,可傳參
              settimeout(()=>{  //異步操作
                    context.commit('getname') //調(diào)用管理的mutactions函數(shù)
              },1000)
          }
    },
    modules: {  //將管理的狀態(tài)模塊化
         moduleA: {
               state: {},
               mutactions: {
               },
               getters: {
                    foo(state,getters,rootState,rootGetters) {
                    }
               },
               ...//與store結(jié)構(gòu)相同
         }
    }  
})

最后,向外暴露store對象

export default store

在主文件main.js中的vue實(shí)例上進(jìn)行掛載,掛載后在.vue文件中通過使用this.$store來獲取vuex實(shí)例對象store

//main.js
import Vue from 'vue'
import App from './App'
import store from './store'

new Vue({
    el: '#app',
    store,
    render: h => h(App)
})

調(diào)用store的資源

  • 調(diào)用storemutactions的函數(shù)晚碾,需要使用this.$store.commit('函數(shù)名'[,參數(shù)])或者this.$store.commit({type:'函數(shù)名',key:value})(后者的方式mutactions中函數(shù)的第二參數(shù)是payload對象)
  • 調(diào)用storeactions的函數(shù)抓半,需要使用this.$store.dispatch('函數(shù)名')
  • 調(diào)用storemodules的狀態(tài)(state數(shù)據(jù)),需要使用this.$store.模塊名來獲取modulestate對象
  • 調(diào)用storemodules的函數(shù)與普通調(diào)用函數(shù)的方法一樣
    注:模塊中函數(shù)名和store的函數(shù)名最好不要一樣格嘁,如果同名會(huì)調(diào)用store的函數(shù)

部分抽離

  • store中的actions笛求、gettersmutactions可以直接在store文件夾下創(chuàng)建對應(yīng)的.js文件并暴露
  • modules可以創(chuàng)建modules文件夾,再創(chuàng)建對應(yīng)的.js文件糕簿,模塊化能更好的進(jìn)行管理
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末探入,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子懂诗,更是在濱河造成了極大的恐慌蜂嗽,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殃恒,死亡現(xiàn)場離奇詭異徒爹,居然都是意外死亡荚醒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門隆嗅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來界阁,“玉大人,你說我怎么就攤上這事胖喳∨萸” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵丽焊,是天一觀的道長较剃。 經(jīng)常有香客問我,道長技健,這世上最難降的妖魔是什么写穴? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮雌贱,結(jié)果婚禮上啊送,老公的妹妹穿的比我還像新娘。我一直安慰自己欣孤,他們只是感情好馋没,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著降传,像睡著了一般篷朵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婆排,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天声旺,我揣著相機(jī)與錄音,去河邊找鬼段只。 笑死腮猖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翼悴。 我是一名探鬼主播缚够,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鹦赎!你這毒婦竟也來了谍椅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤古话,失蹤者是張志新(化名)和其女友劉穎雏吭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陪踩,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杖们,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年悉抵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摘完。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姥饰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孝治,到底是詐尸還是另有隱情列粪,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布谈飒,位于F島的核電站岂座,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏杭措。R本人自食惡果不足惜费什,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望手素。 院中可真熱鬧鸳址,春花似錦、人聲如沸刑桑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祠斧。三九已至,卻和暖如春拱礁,著一層夾襖步出監(jiān)牢的瞬間琢锋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工呢灶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吴超,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓鸯乃,卻偏偏與公主長得像鲸阻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子缨睡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355