最新要闻
- 焦点速看:连通三大火车站,广州站至广州南站将建铁路联络线
- 莫言称余华根本不是我的对手:神评当代大学生脱不下孔乙己长衫 让人感慨
- 或卖17万!特斯拉公布全新车型 新一代平台打造:不用任何稀土
- 华为启动建设“双万兆之城”:5.5G峰值速率10Gbps 比5G快9倍-每日观点
- 北京发布人工智能算法领域专门人才政策
- 苹果联合创始人称想死就买特斯拉!马斯克回应:这比人类驾驶安全10倍
- 全球快报:仙侠剧《护心》惊现科技梗:"爱凤"变“花为” 剧情脑洞大开
- 2023特斯拉股东大会正式召开!一文了解重点内容
- 天天热讯:迪马尔科赛后话筒喊话:谁不跳谁就是米兰球迷 一起去伊斯坦布尔
- 至少30元/杯!国人消费越来越冷静:都不喝星巴克了...
- 最高读取7100MB/s!京东京造鲲鹏SSD发布:2TB 579元
- 成都医保局缴费记录多久更新?-今日热搜
- 播报:不如华为轻薄!曝三星Galaxy Z Fold5 7月发
- 世界关注:无力自研 大众密谋动用数十亿欧元收购华为车BU:玩真的?
- 全球微头条丨好评如潮PC大作!黑客修复《生化危机4重制版》破解补丁:更加完美了
- 《英雄联盟》2023MSI:BLG3:1战胜G2 晋级四强|全球播资讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Vuex的使用 环球通讯
1、Vuex介绍
1.1、概念
专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式管理(读/写),也是一种组件间通信的方式,且适用于任意组件之间的通信。
(资料图片仅供参考)
1.2、什么时候使用Vuex
多个组件共享同一个状态(数据)的时候。
1.3、Vuex原理图
注意:图中没有体现出来,但是VueComponent可以直接commit给Mutations。
1.4、搭建vuex环境
1、npm i vuex
如果不指定版本,会自动安装vuex4,而vuex4只能在vue3中使用,因此vue2要指定vuex3的版本。npm i vuex@3
2、main.js
import Vuex from "vuex";// 使用插件Vue.use(Vuex);
3、src下创建store文件夹,创建index.js文件。
// 该文件用于创建Vuex中最为核心的store// 引入Vueimport Vue from "vue";// 引入Vueximport Vuex from "vuex"// 应用Vuex插件Vue.use(Vuex);// 准备actions——用于响应组件中的动作const actions = {};// 准备mutations——用于操作数据(state)const mutations = {};// 准备state——用于存储数据const state = {};// 创建storeconst store = new Vuex.Store({ actions, mutations, state});// 暴露storeexport default store;
main.js
// 引入Vueimport Vue from "vue";// 引入Appimport App from "./App.vue";// 引入storeimport store from "./store";Vue.config.productionTip = false// 创建Vue实例对象 --- vmnew Vue({ render: h => h(App), store, beforeCreate() { Vue.prototype.$bus = this; // 安装全局事件总线 }, mounted() { console.log("vm", this); }}).$mount("#app")
1.5、Vuex开发者工具
就是vue的开发者工具,因为vuex是vue开发者团队开发的。
2、基本使用
1、store文件夹下的index.js
// 该文件用于创建Vuex中最为核心的store// 引入Vueimport Vue from "vue";// 引入Vueximport Vuex from "vuex"// 应用Vuex插件Vue.use(Vuex);// 准备actions——用于响应组件中的动作const actions = { // 响应组件中加的动作 jia(context, value) { context.commit("JIA", value); }};// 准备mutations——用于操作数据(state)const mutations = { // 执行加,方法大写是为了和actions中的方法区别 JIA(state, value) { state.sum += value; }};// 准备state——用于存储数据const state = { sum: 0};// 创建storeconst store = new Vuex.Store({ actions, mutations, state});// 暴露storeexport default store;
2、组件读取vuex中的数据:$store.state.sum
3、组件中修改vuex中的数据:$store.dispatch("action中的方法名", 数据) 或者 $store.commit("mutations中的方法名",数据)
备注:如果没有网络请求以及业务逻辑,组件中也可以直接越过action,也就是说不写dispatch,直接commit给mutations去操作数据。
3、配置项
3.1、getters配置项
1、当state中的数据需要经过加工之后再使用时,可以使用getters加工。
2、在store.js中追加getters配置。
3、组件中读取数据:$store.getters.bigSum
index.js
......// 准备getters——用于将state中的数据进行加工,和computed属性类似const getters = { bigSum(state) { return state.sum + "元"; }}// 创建storeconst store = new Vuex.Store({ actions, mutations, state, getters});// 暴露storeexport default store;
3.2、四个map方法的使用
1、mapState方法:用于帮助我们映射state中的数据为计算属性
computed: { // 借助mapState生成计算属性:sum,school(对象写法) ...mapState({sum: "sum", school:"school"}), // 借助mapState生成计算属性:sum,school(数组写法) ...mapState(["sum", "school"]),}
2、mapGetters方法:用于帮我们映射getters中的数据为计算属性
computed: { // 借助mapState生成计算属性:sum,school(对象写法) ...mapGetters({bigSum: "bigSum"}), // 借助mapState生成计算属性:sum,school(数组写法) ...mapGetters(["bigSum"]),}
3、mapActions方法:用于帮助我们生成与actions对话的方法,即:包含$store.dispatch(xxx)的函数。
methods: { // 靠mapActions生成:incrementOdd、incrementWait(对象写法) ...mapActions({incrementOdd: "jiaOdd", incrementWait: "jixWait"}); // 靠mapActions生成:incrementOdd、incrementWait(数组形式) ...mapActions(["jiaOdd", "jixWait"]);}
4、mapMutations方法:用于帮助我们生成与mutations对话的方法,即:包含$store.commit(xxx)的函数。
methods: { // 靠mapMutations生成:increment、decrement(对象写法) ...mapMutations({increment: "JIA", decrement: "JIAM"}); // 靠mapMutations生成:JIA、JIAM(数组形式) ...mapMutations(["JIA", "JIAM"]);}
备注:mapActions和mapMutations使用的时候,如果需要传递参数需要:在模板中绑定事件时传递好参数,否则参数会是事件对象。
4、vuex模块化 + namespace
1、目的:让代码更好维护,让多种数据分类更加明确。
2、修改index.js
// count模块相关业务const countAbout = { namespaced: true, // 开启命名空间 state: {}, mutations: {}, actions: {}, getters: {}}// person模块相关业务const personAbout = { namespaced: true, // 开启命名空间 state: {}, mutations: {}, actions: {}, getters: {}}const store = new Vuex.Store({ modules: { countAbout, personAbout }});
3、开启命名空间后,组件中读取state数据
this.$store.state.personAbout.list...mapState("countAbout", ["sum","school","subject"]);
4、开启命名空间后,组件中读取getters数据
this.$store.getters["personAbout/firstName"]...mapGetters("countAbout", ["bigSum"]);
5、开启命名空间后,组件中调用dispatch
this.$store.dispatch("personAbout/addPerson", person)...mapActions("countAbout", {incrementOdd: "jiaOdd"});
6、开启命名空间后,组件中调用commit
this.$store.commit("personAbout/ADD_PERSON",person);...mapMutations("countAbout", {increment: "JIA"});
关键词:
Vuex的使用 环球通讯
最低已跌至5.5% 上市券商两融利率集体下滑|世界新资讯
焦点速看:连通三大火车站,广州站至广州南站将建铁路联络线
莫言称余华根本不是我的对手:神评当代大学生脱不下孔乙己长衫 让人感慨
或卖17万!特斯拉公布全新车型 新一代平台打造:不用任何稀土
华为启动建设“双万兆之城”:5.5G峰值速率10Gbps 比5G快9倍-每日观点
北京发布人工智能算法领域专门人才政策
环球通讯!【读财报】创业板一季度业绩透视:近四成公司营收净利双增 机械设备、医药生物等行业表现突出
苹果联合创始人称想死就买特斯拉!马斯克回应:这比人类驾驶安全10倍
全球快报:仙侠剧《护心》惊现科技梗:"爱凤"变“花为” 剧情脑洞大开
2023特斯拉股东大会正式召开!一文了解重点内容
天天热讯:迪马尔科赛后话筒喊话:谁不跳谁就是米兰球迷 一起去伊斯坦布尔
关于Kubernetes-k8s集群在任意nodes节点上执行kubectl和kubadm命令的方法 全球报资讯
至少30元/杯!国人消费越来越冷静:都不喝星巴克了...
最高读取7100MB/s!京东京造鲲鹏SSD发布:2TB 579元
成都医保局缴费记录多久更新?-今日热搜
03-运算符
播报:不如华为轻薄!曝三星Galaxy Z Fold5 7月发
世界关注:无力自研 大众密谋动用数十亿欧元收购华为车BU:玩真的?
全球微头条丨好评如潮PC大作!黑客修复《生化危机4重制版》破解补丁:更加完美了
《英雄联盟》2023MSI:BLG3:1战胜G2 晋级四强|全球播资讯
淄博快递员称发不完根本发不完:我在淄博40年 没见过这么火热过-全球今亮点
吃粽子表示着什么 吃粽子预示着什么
全球简讯:谈谈AI产品经理的产品开发流程
勒沃库森官方:球队传奇贝拉拉比将在本赛季结束后离队_时快讯
Python学习之十三_pip的学习
中科院专家谈ChatGPT:被过度炒作和神化 不久就是白菜价-天天微速讯
电脑16GB内存到底够不够用?实测揭晓答案_环球快讯
全球速读:RTX4070游戏本杀疯!晚买果真享折扣 等等党赢了
浙江多地海边现“蓝眼泪”奇观:场面惊艳
某某吉他谱_某某吉他谱
关于k8s-master节点的token过期后的处理方法-让新node节点加入的方法-每日热点
每日聚焦:下半年的神U!联发科天玑9200+稳了:性能霸榜安卓阵营
rpcauthnlevelprivacy enabled_privacyiconclient exe 每日资讯
聊聊我认为的OpenFeign|微动态
IDEA配合Docker插件进行一键部署
文心一言 VS chatgpt (17)-- 算法导论4.1 3~4题 全球速读
洛谷颜色对照表 焦点短讯
版本升级!微软更新Windows 11 22H2正式版官方ISO镜像:免费下载
世界热头条丨更近了!中国新一代载人火箭进展顺利:一级可复用
焦点短讯!520用得着!杰士邦进口零感组合0.8元/只速囤:超薄澎湃
女网红用AI和1000个男友同时谈恋爱:轻松月入3000万
神似iPhone!realme narzo N53来了:后置双摄 主打轻薄-世界速看
超合金战记3boss大全(超合金战记3怎么抽斯巴达)
当前资讯!探索数字未来——虚拟数字化展厅的革新之旅
Java设计模式-装饰模式
法治服务“零距离”,让法治意识深入人心
你支持吗?广州研究压缩机动车道宽度 让电动自行车通行|每日焦点
能量密度断层式领先!宁德时代:凝聚态电池正用于电动载人飞机开发|全球独家
天天热资讯!《甄嬛传》胧月公主扮演者回应近照曝光:没买热搜
每日看点!299元起!闪极《流浪地球2》联名移动电源开售 比手办还精致
【快播报】先蹦个迪再说!马斯克蓬头散发会见马克龙的原因找到了
threejs webgl性能优化
今日讯!原型设计工具介绍
Xcode常用环境变量与常见使用场景
大理州部署加快推进全州公路交通安全隐患排查治理“百日攻坚”行动工作|焦点速递
世界快消息!新华发电水电基础设施公募REITs项目公示中标候选人
【世界播资讯】德国技术防止侧翻 湖北网红浮桥“廊桥遗梦”7年来首次发生事故
再见了!老头乐代步车走向“灭亡”-环球快播报
仅需两小时:吃进的微塑料就能进入你的脑子
迅雷2023Q1营收逼近1亿美元创史高 超级会员用户大增-天天动态
全球今热点:不愧安卓“亲儿子”:谷歌迅速修复Pixel系列耗电Bug
巧克力囊肿来月经肚子疼怎么缓解_月经肚子疼怎么缓解 焦点短讯
天天即时:PostgreSQL一站式插件推荐 -- pg_enterprise_views
30Wqps+闲鱼优惠中台,如何架构的?_天天快播
热门:Booking.com如何在毫秒内搜索数百万个地点
记录--10个超级实用的Set、Map使用技巧-每日时讯
世界短讯!腾讯开源的 3 个 GitHub 项目,足够良心!
两女孩砸成人用品售卖机盗走商品,得手后大笑离去
把iP15 Pro Max比下去了!iPhone16 Pro Max升级苹果史上最大屏
段永平再评“哲库事件”:长远看不合适的、最好现在就停下来!
要闻速递:谷歌AI公司创始人看衰传统搜索引擎:十年内将消亡
天天观焦点:国产安卓手机成功超越苹果了吗?这问题其实很复杂
每日看点!毕业生收Offer租房后遭HR毁约拉黑:电话也不接了
天天速读:百超(深圳)中标“核电粮仓”激光切割机及服务项目
js深拷贝
Red Hat Linux安装CentOS的yum源
基于C#和Blazor开发的前后端分离框架
AI女友同时和1000人谈恋爱,狂赚500万
AspNet Core MVC项目接入的登录页验证码(一)
环球最新:5月18日杜甫草堂免费门票老年人要预约么?
恒生指数16日收涨0.04% 互联网科技股集体走强
被视为格力“第二个董明珠”的孟羽童被开除:人设崩了?|播报
今日要闻!美国上路私家车平均车龄12.5年 创20年来新高!原因现实
焦点消息!AMD Zen5全家泄露:192核力压Intel 144核!1.5GB缓存无敌
全球热点评!丰田卡罗拉高速错过出口强行变道:后方货车紧急制动轮冒青烟
中国移动也能捅破天 5G手机可直连卫星通信_每日观察
边走边拍⑨一环路烟火人间“串”起 地道成都味|观热点
微资讯!浅析AIGC for MMKG
全球球精选!C++ | const修饰的变量
焦点快播:谈谈Spring IOC容器的注入方式
换皮系统实锤了?Win11曝出Win8老版本残留
新动态:被观众喷爆!《埃及艳后》成网飞评价最差剧集之一
今日热讯:1032km续航全球量产车第一!极氪001千里续航套装版开启交付
天天快消息!世卫组织建议勿用非糖甜味剂控制体重:会导致2型糖尿病、甚至死亡
苹果Siri即将大升级!体验巨变|全球简讯
博主每天都在纠结选小米13 Pro还是13 Ultra!雷军给出答案
世界最新:美国“悔棋翻盘”破坏多边经贸秩序——起底美国贸易战反智本质述评之三
全球快看点丨统计学习方法笔记-感知机学习方法
今日热文:易基因:多组学关联分析及组学分子实验验证方法(表观组+转录组+微生物组)|干货系列