亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vuex中store的action和mutations用法

 更新時(shí)間:2022年04月12日 11:40:37   作者:zb0002011  
這篇文章主要介紹了vuex中store的action和mutations用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

action和mutations (this.$store.dispatch和this.$store.commit)區(qū)別

都是調(diào)用vuex中的方法。一個(gè)異步一個(gè)同步

  • dispatch:含有異步操作,例如向后臺(tái)提交數(shù)據(jù),寫法: this.$store.dispatch('action方法名',值)
  • commit:同步操作,寫法:this.$store.commit('mutations方法名',值)

action:

1、用于通過提交mutation改變數(shù)據(jù)

2、會(huì)默認(rèn)將自身封裝為一個(gè)Promise

3、可以包含任意的異步操作

mutations:

1、通過提交commit改變數(shù)據(jù)

2、只是一個(gè)單純的函數(shù)

3、不要使用異步操作,異步操作會(huì)導(dǎo)致變量不能追蹤。也就是說,用action中的函數(shù)調(diào)用mutations中的函數(shù),進(jìn)行異步操作state中的數(shù)據(jù)

用法

dispatch: 含有異步操作

存儲(chǔ):

this.$store.dispatch('initUserInfo',friend);

取值:

this.$store.getters.userInfo;

commit:同步操作

存儲(chǔ):

this.$store.commit('initUserInfo',friend);

取值:

this.$store.state.userInfo;

實(shí)例

1、login.vue 

2、user.js

3、login.js

action和mutation分別用來處理什么?

  • action處理異步數(shù)據(jù)最終提交到數(shù)據(jù)庫
  • mutation用來同步數(shù)據(jù)做業(yè)務(wù)的處理 (vuex中store數(shù)據(jù)改變唯一的方法就是mutation)
  • Action提交的是 mutation,而不是直接變更狀態(tài)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

最新評(píng)論