成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

淺析集中式狀態管理Vuex的使用方法

如何使用集中式狀態管理的Vuex?下面本篇文章就帶大家了解一下vuex,簡單聊聊vuex的使用方法,希望對大家有所幫助!

淺析集中式狀態管理Vuex的使用方法

1.vuex是什么

一個專門在Vue中實現集中式狀態管理的一個Vue插件,可以對vue應用中多個組件的共享狀態進行集中式的管理(讀取/寫入),也是一種組件間通信的方式,并且適用于任意組件間通信

2.什么時候使用Vuex

1.多個組件依賴于同一狀態

2.來自不同組件的行為需要變更同一狀態

2.1如何使用Vuex

首先我們要知道,如果使用了Vuex就大概率需要兩個或者多個組件共享一套數據/狀態,所以首先需要準備兩個組件(分別為Count,Person),再就是我們要在src目錄下添加一個store文件,因為Vuex就是依靠store來進行一系列的準備任務的

2.2Count組件

在這個組件內我們可以看到map…一堆東西,這里我們就不得不說vuex里面的四個map了,如何使用map方法我放到了最后,這里我們只介紹一下該組件的功能Count是個有著“強大”計算功能的組件,它可以進行將最后的數進行放大10倍,可以奇數運算,可以延遲運算可謂是極其的“強大”

<template>   <div>     <h3>當前和為:{{sum}}</h3>     <h3>當前和為:放大10倍:{{bigSum}}</h3>     <h3>我在{{school}},學習{{subject}}</h3>     <h3>下方組件的總人數{{personList.length}}</h3>      <select v-model.number="num">       <option value="1">1</option>       <option value="2">2</option>       <option value="3">3</option>     </select>     <button @click="increment(num)">+</button>     <button @click="decrement(num)">-</button>     <button @click="incrementOdd(num)">奇數+</button>     <button @click="incrementWait(num)">500ms后再+</button>   </div> </template> <script> // 引入mapState等 import { mapState, mapGetters, mapMutations, mapActions } from "vuex"; export default {   name: "Count",   data() {     return {       num: 1 // 用戶選擇的數字     };   },   computed: {     // 使用mapState生成計算屬性,從state種讀取數據(...mapstate()的意思是將其內的對象全部展開的計算屬性里面)     // ...mapState({ sum: "sum", school: "school", subject: "subject" }), // 對象寫法     ...mapState(["sum", "school", "subject", "personList"]), // 數組寫法     // 使用mapGetters生成計算屬性,從getters種讀取數據     // ...mapGetters(["bigSum"]), // 數組寫法     ...mapGetters({ bigSum: "bigSum" }) // 數組寫法   },   methods: {     // 借助mapMutations生成對應的方法,方法種會調用相應的commit去聯系mutations     ...mapMutations({ increment: "JIA", decrement: "JIAN" }), // 對象式     ...mapActions({ incrementOdd: "jiaodd", incrementWait: "jiaWait" }) //數組式     // ...mapActions(["jiaodd", "jiaWait"]) //數組式簡寫   },   mounted() {   } }; </script> <style> button {   margin-left: 5px; } </style>
登錄后復制

2.3Person組件

Person組件有著“強大”的人員添加的功能,他可以按照自己的意愿進行添加你的親朋好友等

<template>   <div>     <h3>人員列表</h3>     <h3>Count組件的求和為{{sum}}</h3>     <input type="text" placehodler="請輸入名字" v-model="name">     <button @click="add">添加</button>     <ul>       <li v-for="p in personList" :key="p.id">{{p.name}}</li>     </ul>   </div> </template> <script> import { nanoid } from "nanoid"; export default {   name: "Person",   data() {     return {       name: ""     };   },   computed: {     personList() {       return this.$store.state.personList;     },     sum() {       return this.$store.state.sum;     }   },   methods: {     add() {       const personObj = { id: nanoid(), name: this.name };       this.$store.commit("ADD_PERSON", personObj);       this.name = "";     }   } }; </script>
登錄后復制

2.4引入組件

分別再App內引入這兩個組件

<template>   <div class="container">     <Count></Count>     <Person/>   </div> </template>  <script> import Count from "./components/Count"; import Person from "./components/Person"; export default {   name: "App",   components: { Count, Person } }; </script>
登錄后復制

2.5配置store文件夾下的index.js

要在store文件夾下面新建一個index.js文件,然后再index文件里面進行寫入如下代碼,首先是引入vue和vuex,再使用action進行動作響應,在這里我們可以接收到兩個參數分別式contextvalue他們分別式上下文和所傳入的值,我們可以再context身上發現我們所配置的state里面的所有東西,這就是context身上的東西,和value,這里value的值就是1

淺析集中式狀態管理Vuex的使用方法

// 創建VUex種的store核心 import Vue from 'vue' // 引入Vuex import Vuex from 'vuex' // 使用vuex插件 Vue.use(Vuex) // 準備actions——用于組件內的動作響應 const actions = {     // 奇數加法     jiaodd(context, value) {         if (context.state.sum % 2) {             context.commit('JIA', value)         }     },     // 延遲加     jiaWait(context, value) {         setTimeout(() => {             context.commit("JIA", value)         }, 500);     }, } // 準備mutations——用于數據操作 const mutations = {     JIA(state, value) {         state.sum += value     },     JIAN(state, value) {         state.sum -= value     },     ADD_PERSON(state, value) {         console.log('mustations種的ADD_PERSON被調用',state.personList);         state.personList.unshift(value)     } } // 準備state——用于數據的儲存 const state = {     sum: 0, // 當前和     school: '山魚小學',     subject: '前端',     personList:[{id:'001',name:'張三'}] } // 用于加工state種的數據 const getters = {     bigSum(state) {         return state.sum * 10     } } // 創建store并且暴露store export default new Vuex.Store({     // actions: actions,// 前后名稱一樣所以可以觸發簡寫模式     actions,     mutations,     state,     getters });
登錄后復制

2.四個map方法的使用

1.mapState:用于幫助我們映射state中的數據為計算屬性

computed: {     // 使用mapState生成計算屬性,從state種讀取數據(...mapstate({})的意思是將其內的對象全部展開的計算屬性里面)     ...mapState({ sum: "sum", school: "school", subject: "subject" }), // 對象寫法              // ...mapState(["sum", "school", "subject"]), // 數組寫法   }
登錄后復制

2.mapGetters:用于幫助我們映射getters中的數據為計算屬性

computed: {     // 使用mapGetters生成計算屬性,從getters種讀取數據     ...mapGetters({bigSum:"bigSum"})     ...mapGetters(["bigSum"])   }
登錄后復制

3.mapMutations:用于幫助我們生成與mutations交流的方法,包含$store.commit()的函數

methods: {     // 借助mapMutations生成對應的方法,方法種會調用相應的commit去聯系mutations     ...mapMutations({ increment: "JIA", decrement: "JIAN" }), // 對象式     // ...mapMutations(["JIA", "JIAN"]), // 數組式(button的名字和vuex里面的名字必須統一)   },
登錄后復制

3.mapActions:用于幫助我們生成與mutations交流的方法,包含$store.commit()的函數

  methods: {      // 借助mapActions生成對應的方法,方法種會調用相應的dispath去聯系actions     ...mapActions({ incrementOdd: "jiaodd", incrementWait: "jiaWait" }), //對象式     // ...mapActions(["jiaodd", "jiaWait"]) //數組式   },
登錄后復制

注:mapActions與mapMutations使用時,若需要傳遞參數需要在模板中綁定事件時傳遞好參數,否則參數是事件對象。

(學習視頻分享:vuejs入門教程、編程基礎視頻)

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
北条麻妃在线一区二区| 国产AⅤ激情无码久久男男剧| 被按摩的人妻中文字幕BD| 差差差无掩盖视频30分钟| 疯狂做受XXXⅩ高潮视频免费| 国产乱AⅤ一区二区三区| 黑人精品XXX一区一二区| 久久久久久亚洲精品不卡| 年轻漂亮的人妻被公侵犯BD免费 | 女人呻吟声大了男人越有劲吗| 屁屁影院CCYY备用地址| 天码人妻一区二区三区| 亚洲国产AV无码男人的天堂| 中国老熟女XXXⅩ全部| 成 人 H动 漫在线播放日本| 国产日产欧洲无码视频| 久久久久无码专区亚洲AV| 欧美性爱XXXX黑人XYX性爽| 婷婷综合久久狠狠色成人网| 亚洲蜜桃无码视頻精品网| 99久久人妻精品免费一区| 懂色av一区二区三区蜜臀| 国内精品久久久久久久小说| 美女裸体无遮挡免费视频网站| 人体艺术在线观看| 新妺妺窝人体色WWW| 中国内地毛片免费高清| 丰满年经的继拇6| 精品无人区麻豆乱码无限制| 欧美内射AAAAAAXXXXX| 玩弄老太婆BBW视频| 一区国产情侣宾馆射| 丁香花高清在线观看完整版| 精品第一国产综合精品蜜芽| 欧美视频一区二区图文| 亚洲AⅤ日韩AV无码COM| 18禁美女裸身无遮挡免费网站 | XXXX黑大荫茎XXXX| 国产日韩一区二区三区在线观看| 两女女百合互慰AV赤裸无遮挡| 色8激情欧美成人久久综合电 | 婷婷国产三区四区| 与亲女洗澡伦了东北| 国产999精品2卡3卡4卡| 久久婷婷五月综合色欧美| 少妇18p一区二区三区| 亚洲午夜性春猛交77777 | 久久久久99精品成人片直播 | 奶头被民工们吸得又红又肿怎么办 | 久久久久久精品天堂无码中文字幕| 人人妻人人爽日日人人| 亚洲精品国产AV天美传媒| MM131美女图片高清图片视频| 国内精品久久久久久久影视| 人妻厨房出轨上司HD院线| 亚洲精品自在在线观看| 粉嫩泬一区二区三区| 邻居少妇张开双腿让我爽一夜| 无码人妻精品一区二区三区99不卡| 18禁止看的免费污网站| 果冻传媒一区二区天美传媒| 人人超人人超碰超国产| 亚洲综合色一区二区三区| 国产成人精品日本亚洲语音| 免费国产AV在线观看| 亚洲AV无码一区二区三区网址| 差差差30分钟视频轮滑免费| 久久婷婷五月综合成人D啪| 我把我的肥岳日出水来多少集 | 野花日本大全免费观看2019| 国产高潮国产高潮久久久| 欧美又粗又长XXXXBBBB疯| 亚洲在AV极品无码天堂手机版| 国产精华液一区二区区别| 强行挺进美艳老师的后臀| 一本大道东京热无码AV| 国产精品亚洲污污网站入口| 人人澡人人人妻人人人少妇| 一二三四在线观看免费高清视频 | 强开小娟嫩苞又嫩又紧| 亚洲中文字幕久久精品无码喷水 | 午夜A级理论片在线播放琪琪| WWW.国产白丝袜护士喷白浆| 久久香蕉综合色一综合色88| 亚洲AV无码乱码在线观看富二代 | 成人免费A级毛片天天看| 蜜桃AV少妇久久久久久高潮不断| 亚洲成亚洲乱码一二三四区软件| 国产寡妇XXXX猛交| 日韩毛片AV无码免费一区二区三| 8Ⅹ8X擦拨擦拨成人免费视频| 精品人妻人人做人人爽| 无遮挡粉嫩小泬久久久久久软件 | 无码人妻AⅤ一区 二区 三区| 被夫の上司に犯中文字幕| 内射精品无码中文字幕| 一本色道久久综合亚洲精品| 好爽好紧好大的免费视频国产 | 国产精品美女久久久久久久| 日韩人妻无码一区2区3区| chinese老女人老熟妇hd| 猫咪成人网站WWW永久网站| 亚洲熟妇色自偷自拍另类| 国产综合无码一区二区色蜜蜜| 挺进绝色老师的紧窄小肉| 大码HIPHOP欧美胖MM短袖| 人C交Z〇○Z〇○ⅩⅩ| 99精品国产兔费观看久久99| 乱肉怀孕又粗又大| 一本久道久久综合狠狠躁AV| 久久6久久66热这里只是精品| 性一交一乱一色一视频| 国产成人无码精品午夜福利A | 人禽杂交18禁网站免费| YW尤物AV无码点击进入福利| 欧美精品VIDEOSSEX少妇| 97精品人妻一区二区三区香蕉| 免费看的WWW哔哩哔哩小说| 婬乱丰满熟妇XXXXX| 久久人人爽人人爽人人片DVD| 亚洲熟妇无码V在线观看| 久久精品第一国产久精国产宅男6| 亚洲乱码1卡2卡3乱码在线芒果| 国产品无码一区二区三区在线蜜桃| 精品久久久久久中文字幕无码软件 | 国产AⅤ爽AV久久久久成人精品| 少妇扒开毛茸茸的B自慰| 敌伦交换第十一部分| 少妇被躁C至高潮HD| 国产AⅤ无码久久丝袜美腿| 婷婷蜜桃国产精品一区| 国产精品毛片久久久久久久| 无码无套少妇毛多18PX| 国产猛进猛出又黄又爽又色| 学渣含着学霸几巴的写作业视频 | 亚洲AV无码专区亚洲AV桃| 激情内射亚洲一区二区三区| 亚洲欧美在线制服丝袜国产| 久久久久久精品免费免费WE| 曰韩精品无码一区二区三区视频 | ASS美女裸体洗澡PICS| 秋霞电影院yy2933| 岛国AV在线无码播放| 天天躁日日躁狠狠躁性色AVQ| 国产精品青青在线麻豆| 亚洲AV中文无码字幕色最| 精品国产免费人成网站| 伊人色综合久久天天| 欧美丰满熟妇乱XXXXX视频| 波多野结衣办公室激情30分钟| 色噜噜精品一区二区三区| 国产乱码精品一品二品| 亚洲精品乱码久久久久久蜜桃图片| 久久精品中文字幕无码| 2021韩剧在线观看韩剧网| 人妻在线一区二区| 国产精品久久久久精品| 亚洲国产精品久久久久蜜桃网站 | 中文精品一卡2卡3卡4卡| 人妻被按摩到潮喷中文不卡| 国产成人AV在线影院| 亚洲爆乳无码专区| 免费A级毛片无码免费视频APP| ZOOM与人性ZOOM怎么同步| 挺进美妇肉蚌深处| 精品久久久久久成人AV| 18禁成人黄网站免费观看| 日日狠狠久久偷偷色综合| 国产亚洲综合欧美视频| 伊人久久大香线蕉AV一区| 人妻熟女一区二区AⅤ| 国产精品未满十八禁止观看| 亚洲色偷拍一区二区三区| 欧美粗大强交18P直喷水| 贵阳40多岁熟女高潮呻吟| 亚洲精品自偷自拍无码忘忧| 女人双腿搬开让男人桶| 国产办公室秘书无码精品99| 亚洲精品又大又粗| 欧美亚洲国产精品久久高清 | 国产精品 精品国内自产拍| 亚洲欧美日韩综合久久久| 欧美一区二区三放荡人妇| 国产三级精品三级在线观看| 中文成人无码精品久久久不卡免费 | 国产精品国产三级国产AV浪潮 | 老熟妇乱子伦牲交视频| 成人伊人亚洲人综合网站| 亚洲精品1卡2卡三卡23卡| 欧美人与人动人物2020| 国产麻豆放荡AV剧情演绎| 中文字幕色AV一区二区三区| 糖心短视频VLOG柚子猫| 久久AV无码AV高潮AV| 成人免费A级毛片无码片2022| 亚洲国产午夜精品理论片| 人妻精品AAAA中文字幕69| 狠狠综合久久综合88亚洲| YY111111少妇影院| 亚洲欧美另类视频|