Vuex.Store 實(shí)例方法 dispatch

官方解釋

dispatch(type: string, payload?: any, options?: Object): Promise<any>

dispatch(action: Object, options?: Object): Promise<any>

分發(fā) action沧烈。options 里可以有 root: true掺出,它允許在命名空間模塊里分發(fā)根的 action汤锨。返回一個(gè)解析所有被觸發(fā)的 action 處理器的 Promise


理解

this.$store.dispatch 分發(fā) actions-> 調(diào)用 mutations->改變 states


思考

  • Q1:為什么不直接分發(fā) mutation

mutation 有必須同步執(zhí)行的限制百框,而 Action 不受約束闲礼,可以在 action 內(nèi)部執(zhí)行異步操作

  • Q2:Action 通常是異步的,如何知道 action 什么時(shí)候結(jié)束铐维?如何才能組合多個(gè) action柬泽,處理復(fù)雜的異步流程

store.dispatch 可以處理被觸發(fā)的 action 的處理函數(shù)返回 Promise,并且 store.dispatch 仍舊返回 Promise

  • 引用官網(wǎng)舉例:
// 假設(shè) getData() 和 getOtherData() 返回的是 Promise
actions: {
  async actionA ({ commit }) {
    commit('gotData', await getData())
  },
  async actionB ({ dispatch, commit }) {
    await dispatch('actionA') // 等待 actionA 完成
    commit('gotOtherData', await getOtherData())
  }
}

一個(gè) store.dispatch 在不同模塊中可以觸發(fā)多個(gè) action 函數(shù)嫁蛇。在這種情況下锨并,只有當(dāng)所有觸發(fā)函數(shù)完成后,返回的 Promise 才會(huì)執(zhí)行


Vuex 中 dispatch()和 commit()的異同

  • 相同點(diǎn)

都可以修改 state睬棚,并且也會(huì)觸發(fā)視圖的更新

  • 不同點(diǎn)

commit 調(diào)用的是 vuex 中 mutation 里的方法第煮,存在同步限制;而 dispatch 調(diào)用的數(shù) vuex 中 action 里的方法抑党,action 中可以調(diào)用 mutation 中的函數(shù)包警,也可執(zhí)行異步操作

commit:同步操作

// 存儲(chǔ)
this.$store.commit('chgval',name);
// 取值
this.$store.state.chgval;

dispatch:異步操作

// 存儲(chǔ)
this.$store.dispatch('listdata',name);
// 取值
this.$store.getters.listdata;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市底靠,隨后出現(xiàn)的幾起案子壹瘟,更是在濱河造成了極大的恐慌俐筋,老刑警劉巖请琳,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異嫌套,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)痹筛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)角溃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人未蝌,你說(shuō)我怎么就攤上這事桐筏≌纾” “怎么了瑰枫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵甥材,是天一觀的道長(zhǎng)土铺。 經(jīng)常有香客問(wèn)我俭令,道長(zhǎng)瓢湃,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任筏勒,我火速辦了婚禮,結(jié)果婚禮上荡陷,老公的妹妹穿的比我還像新娘。我一直安慰自己顿肺,他們只是感情好旷祸,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般羡榴。 火紅的嫁衣襯著肌膚如雪迄沫。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天困后,我揣著相機(jī)與錄音,去河邊找鬼摇予。 笑死,一個(gè)胖子當(dāng)著我的面吹牛侧戴,可吹牛的內(nèi)容都是我干的宁昭。 我是一名探鬼主播积仗,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼隆圆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蹬屹!你這毒婦竟也來(lái)了贩耐?” 一聲冷哼從身側(cè)響起台谢,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蒂胞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后条篷,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體骗随,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛤织,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸿染。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片指蚜。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涨椒,靈堂內(nèi)的尸體忽然破棺而出摊鸡,到底是詐尸還是另有隱情,我是刑警寧澤蚕冬,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布柱宦,位于F島的核電站,受9級(jí)特大地震影響播瞳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜免糕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一赢乓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧石窑,春花似錦牌芋、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至经宏,卻和暖如春犀暑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烁兰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工耐亏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沪斟。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓广辰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親主之。 傳聞我的和親對(duì)象是個(gè)殘疾皇子择吊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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

  • 使用說(shuō)明-Vuex 安裝 直接下載 / CDN 引用 Unpkg.com 提供了基于 NPM 的 CDN 鏈接。以...
    滿是裂縫的花卷閱讀 993評(píng)論 0 8
  • Vuex 是什么槽奕? ** 官方解釋:Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式**几睛。它采用集中...
    Rz______閱讀 2,300評(píng)論 1 10
  • 目錄 - 1.什么是vuex? - 2.為什么要使用Vuex? - 3.vuex的核心概念?||如何在組件中去使用...
    我跟你蔣閱讀 4,110評(píng)論 4 51
  • 學(xué)前準(zhǔn)備 本文主要內(nèi)容來(lái)源于官網(wǎng)史翘,為Vuex的基礎(chǔ)部分總結(jié)枉长,部分案例也參考了互聯(lián)網(wǎng)上其他分享知識(shí)的大佬冀续。本手記結(jié)合...
    橙色流年閱讀 380評(píng)論 0 1
  • ### store 1. Vue 組件中獲得 Vuex 狀態(tài) ```js //方式一 全局引入單例類 // 創(chuàng)建一...
    蕓豆_6a86閱讀 726評(píng)論 0 3