52.【vue3】—— (6)vuex(vue2、vue3對比)(2024-03-20)

?vue2.x中的vuex版本是4.x以下,vue3.x中使用的vuex版本必須保證在4.x以上

1.state

(1)this.$store.state.全局?jǐn)?shù)據(jù)名稱

(2)mapState(computed)

import {mapState} from 'vuex'

computed:{

...mapState(['全局?jǐn)?shù)據(jù)1'])? //['全局?jǐn)?shù)據(jù)2','全局?jǐn)?shù)據(jù)2']

}

然后就可以不用$store.state.全局?jǐn)?shù)據(jù)引用,直接插值{{全局?jǐn)?shù)據(jù)}}



2.getters

例:

getters:{

數(shù)據(jù)名稱(state){

return? state.state中定義的數(shù)據(jù)+1

}

}

(1)this.$store.getters.數(shù)據(jù)名稱

(2)mapGetters(computed)

import {mapGetters} from 'vuex'

computed:{

...mapGetters([數(shù)據(jù)名稱])

}

然后就可以直接插值{{數(shù)據(jù)名稱}}


3.mutations

(1)this.$store.commit()


mutations:{

?addN(state,step){

state.count+=step

?}

}


this.$store.commit('addN',3)

(2)mapMutations(methods)


import {mapMutations} from 'vue'

methods:{

...mapMutations(['addN'])

}

在需要的的地方直接使用this.add(3)


4.actions

(1)this.$store.dispatch()

actions:{

addNAsync(context,step){

setTimeout(()=>{

context.commit('addN',step)

},1000)

}

}

this.$store.dispatch('addNAsync',+5)

(2)mapActions(methods)

import {mapActions} from 'vuex'

methods:{

...mapActions(['addNAsync'])

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Vuex是vue中的一種狀態(tài)管理模式,就是一個(gè) 狀態(tài)倉庫,倉庫做什么?存儲狀態(tài)、管理狀態(tài)(數(shù)據(jù))的變化、提供狀態(tài)獲...
    楊_4d81閱讀 319評論 0 0
  • #vue2筆記 ##腳手架文件結(jié)構(gòu) ├──node_modules ├──public │├──favicon.i...
    Daydream_許多閱讀 502評論 0 0
  • 剛開始接觸uniApp看了一下vuex的使用方法,總結(jié)一下在項(xiàng)目中個(gè)人認(rèn)為常用的架構(gòu),很實(shí)用,做一個(gè)新手學(xué)習(xí)筆記!...
    程序元客棧閱讀 6,030評論 0 1
  • Vuex 作用:管理多個(gè)組件或者全局共享的狀態(tài)。將復(fù)雜的、需要共享的邏輯處理放入actions中共享。 ( 為什么...
    恒星的背影閱讀 644評論 0 0
  • 筆記 腳手架文件結(jié)構(gòu) 關(guān)于不同版本的Vue vue.js與vue.runtime.xxx.js的區(qū)別:vue.js...
    sskingfly閱讀 169評論 0 0

友情鏈接更多精彩內(nèi)容