vue-x

1.vuex的優(yōu)點(diǎn):

? ? 不同組件數(shù)據(jù)保持同步

? ? 數(shù)據(jù)的修改都可追蹤

2.vuex存儲(chǔ)

? ? 多個(gè)組件共享狀態(tài),才存儲(chǔ)在vuex中

? ? 某個(gè)組件中的私有數(shù)據(jù),存儲(chǔ)在該組件的data中

3.vuex官網(wǎng)地址:https://vuex.vuejs.org/zh/

? ? 在vue項(xiàng)目中引入:npm i vuex

? ? vuex固定配置:

4.創(chuàng)建store倉(cāng)庫(kù)

? ? 建議在src下創(chuàng)建一個(gè)新的文件夾,在其中的index.js中進(jìn)行創(chuàng)建。代碼如下:

? ? 在main.js中引入該文件,并引入到Vue中,路徑中index.js是默認(rèn)尋找的,可省略

5.vuex-state數(shù)據(jù)源

? ? 定義:

? ? 使用:方式1————this.$store.state.變量名

? ? ? ? ? ? ? ? 方式2————映射使用

? ? ? ? 首先,引入vuex中的mapState,在計(jì)算屬性computed中展開,然后即可當(dāng)作data中的值一樣使用。

6.vuex-mutations同步修改

? ? mutations是唯一能修改state的地方, 確保調(diào)試工具可以追蹤變化

????mutations函數(shù)內(nèi), 只能寫同步代碼, 調(diào)試工具可追蹤變化過程

????因?yàn)檎{(diào)試工具要立刻產(chǎn)生一次記錄, 所以必須是同步的

? ? 創(chuàng)建:

? ? 使用:mutations的使用也分為兩種方式

? ? ? ? ? ? ? ? 方式1:this.$store.commit("方法名",參數(shù))

? ? ? ? ? ? ? ? 方式2:映射方式代碼如下

首先個(gè)button按鈕一個(gè)點(diǎn)擊事件,點(diǎn)擊時(shí)觸發(fā)myFn方法
引入mapMutations,此為vuex中固定,不可修改
在方法中進(jìn)行解構(gòu),然后在點(diǎn)擊時(shí),觸發(fā)myFn方法后進(jìn)行調(diào)用

7. vuex-actions 異步修改

? ? 創(chuàng)建:

? ? 注意:此處調(diào)用mutation中的方法去修改值,通過store.commit(方法名,參數(shù))

? ? ? ? 使用:1.this.$store.dispatch("異步方法名", 參數(shù));

? ? ? ? ? ? ? ? ? ? 2.映射方式代碼如下,大致與mutation相同:

創(chuàng)建一個(gè)按鈕,給click事件添加方法
引入mapActions
在methods中解構(gòu),在事件觸發(fā)時(shí)調(diào)用

8.vuex-getters

????vuex身上的全局狀態(tài)-計(jì)算屬性, 類似于computed

????getters 依賴于 state中原始數(shù)據(jù)的變化,并返回計(jì)算后的新數(shù)據(jù)

? ? 定義:

需return值給計(jì)算屬性

? ? 使用(與state的使用方式大致相同):

????????????1.this.$store.getters.計(jì)算屬性名

? ? ? ? ? ? 2.映射方法:

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

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

  • 1.study Vue-X + 安裝 npm install vuex --save + main.js 引用 i...
    54f1847961fe閱讀 201評(píng)論 0 0
  • 8. vue插件 什么是Vue-Devtools?官方的說法是它允許你在一個(gè)更友好的界面中審查和調(diào)試 Vue 應(yīng)用...
    前端_吳英杰閱讀 784評(píng)論 0 0
  • 在viwe同級(jí)別建立store 文件因?yàn)閟rore把 一些功能可以分模塊管理,在store中分布定義統(tǒng)一注入; s...
    杰出嚕閱讀 401評(píng)論 0 0
  • Vuex 是什么? ** 官方解釋:Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式**。它采用集中...
    Rz______閱讀 2,356評(píng)論 1 10
  • Vuex 是什么? Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有...
    skycolor閱讀 927評(píng)論 0 1

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