当前位置: 首页 > news >正文

Vuex基础语法

Vuex

vuex官网

文章目录

      • Vuex
          • vuex的工作原理图
          • 2.vuex的环境搭建
          • 3.vuex的使用
            • 1.actons
            • 2. mutations
            • 3.getters
          • 4.vuex中的map映射属性
            • 4.1 mapState和mapGetters
            • 4.2 mapMutations和mapActions
          • 5.vuex多组件通信
            • 1.通过计算属性获得
            • 2.通过mapState获得
          • 6.vuex模块化和命名空间
            • 6.1模块化

vuex的工作原理图

Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex的工作原理是,它将应用的状态存储在一个单一的状态树中,并且提供了一组可以改变状态树的方法,这些方法只能通过提交mutation来调用。

在这里插入图片描述

2.vuex的环境搭建

1.安装vuex3版本

npm i vuex@3

2.准备store环境

//改文件用于创建Vuex的核心store//映入vuex
import Vuex from 'vuex'//引入vux
import Vue  from 'vue'Vue.use(Vuex)// 准备actions-用于响应组件动作
const actions={}//准备mutations-用于曹组数据const mutations={}//准备state
const state={}//创建并暴露store
export default new Vuex.Store({actions,mutations,state,
})

3.在main.js引入
在这里插入图片描述

// 引入vuex
import Vuex from 'vuex'//映入store
import store from './store/index'
//使用vuex
Vue.use(Vuex)
new Vue({el:"#app",store,render: h => h(App),// 安装全局事件总线beforeCreate(){Vue.prototype.$bus=this // this为vm,安装全局事件总线}
}) //配置容器id

在这里插入图片描述

3.vuex的使用

注意在VC和vm中都有了store,store本身都有很多的方法可以直接在VC和vm中调用。

add(){//在VC调用storethis.$store.dispatch('jia',this.n)},

在soter中

1.actons
const actions={jia(context,value){console.log('actons',context)context.commit('JIA',value)}
}

在这里插入图片描述

2. mutations
const mutations={JIA(state,value){console.log('mutations',state)state.sum+=value}
}

在这里插入图片描述

注意在VC的store中保存着state的值。
在这里插入图片描述

3.getters

Vuex中的getters用于从store中获取状态,它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算,
会对state中的数据进行加工

//准备state-用于将state中的数据加工
const getters={bigSum(state){return state.sum*10}
}

在组件中使用getters

$store.getters.bigSum

在这里插入图片描述

4.vuex中的map映射属性
4.1 mapState和mapGetters

VuexmapState是Vuex的一个实用程序函数,用于将Vuex存储中的状态映射到组件的计算属性中。它接受一个字符串数组或对象,其中包含要映射的状态名称,并返回一个对象,其中包含映射的状态。
1.其中mapState将state中的数据映射到对应的方法上
2.其中mapGetters将getters中的数据映射到对应的方法上

1.映入mapState

import { mapState } from 'vuex';
import { mapGetters } from 'vuex';

2.在计算属性中

computed:{// 对象结构//借助mapstate生成计算属性,从state中读取数据...mapState(['sum','school']),// 借助mapgetters生成计算属性,从getters中读取数据...mapGetters(['bigSum'])}

在这里插入图片描述

4.2 mapMutations和mapActions

mapMutations作用是将组件中的 methods 映射为 store.commit 调用(需要在根节点注入 store),它将组件中的 methods 映射为 store.commit 的调用,从而可以直接触发状态变更。

  methods:{// 借助mapMUtations生成对应的方法,在方法中会调用commit去联系mutation(对象的写法)...mapMutations({add:'JIA',decde:'JIAN'}),}

mapActions是Vuex中的一个方法,它可以将store中的actions映射到组件的methods中,从而使组件可以调用store中的actions。

5.vuex多组件通信

vuex多组件通信是通过获取state中的值使得数据共享,由于store中的state都可可以在vc中通过this.$store.state拿取到对应的值。

1.通过计算属性获得
computed:{sum(){return this.$store.state.sum}},
2.通过mapState获得
   computed:{...mapState(['sum'])},
6.vuex模块化和命名空间

Vuex模块化是指将Vuex的store分割成模块,每个模块拥有自己的state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割,使得状态管理更加清晰明了

Vuex 命名空间是一种机制,可以让你在一个 store 中定义多个模块,从而使得代码更加组织和可维护。它使用一个 namespace 来标识每个模块,以便在不同模块之间进行区分

6.1模块化

在模块化的中必须加上 namespaced:true,

在sotre中

const countAbout={// 开启命名空间namespaced:true,actions:{},mutations:{JIA(state,value){console.log('mutations',state)state.sum+=value},JIAN(state,value){console.log('mutations',state)state.sum-=value},},state:{sum:0,school:'下滑',},getters:{bigSum(state){return state.sum*10}}
}//创建并暴露store
export default new Vuex.Store({modules:{countAbout,}
})

在页面,可以直接通过差值表达式渲染。
1.获取state中的值

computed: {// 对象结构//借助mapstate生成计算属性,从state中读取数据// ...mapState(['sum','school','personList']),...mapState("countAbout", ["sum", "school"]),...mapState("personAbout", ["personList"]),// 借助mapgetters生成计算属性,从getters中读取数据// ...mapGetters(['bigSum'])},

2.获mucation中的值

methods: {// 借助mapMUtations生成对应的方法,在方法中会调用commit去联系mutation(对象的写法)...mapMutations("countAbout", { add: "JIA", decde: "JIAN" })},

相关文章:

Vuex基础语法

Vuex vuex官网 文章目录Vuexvuex的工作原理图2.vuex的环境搭建3.vuex的使用1.actons2. mutations3.getters4.vuex中的map映射属性4.1 mapState和mapGetters4.2 mapMutations和mapActions5.vuex多组件通信1.通过计算属性获得2.通过mapState获得6.vuex模块化和命名空间6.1模块化…...

刚上岸字节测试开发岗,全网最真实的大厂面试真题

首先我来解释一下为什么说是全网最真实的面试题,相信大家也发现软件测试面试题在网上流传也已不少,但是经过仔细查看发现了两个很重要的问题。 第一,网上流传的面试题的答案并不能保证百分百正确。也就是说各位朋友辛辛苦苦花了很多时间准备…...

Mac监控键盘输入并执行动作

最新内容在我的另一个博客:Mac监控键盘输入并执行动作 背景 电脑的安全是非常重要的,特别是里面的敏感数据,若是被有心之人利用,那后果不堪设想。 所以我们部门定下了一个规矩,谁离开工位要是不锁屏,就可以…...

Transformer输出张量的值全部相同?!

Transformer输出张量的值全部相同?!现象原因解决现象 输入经过TransformerEncoderLayer之后,基本所有输出都相同了。 核心代码如下, from torch.nn import TransformerEncoderLayer self.trans TransformerEncoderLayer(d_mode…...

港科夜闻|全国政协副主席梁振英先生率香港媒体高管团到访香港科大(广州)...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、全国政协副主席梁振英先生率香港媒体高管团到访香港科大(广州)。2月21日下午,在全国政协副主席、广州南沙粤港合作咨询委员会顾问梁振英先生的带领下,香港20余家媒体的高管及知名媒体人士到访香港科大…...

XML调用 CAPL Test Function

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...

Linux网络配置(NAT)

在搭配好一台虚拟机的时候想要下载,安装些什么但一直失败这个时候就可以检查一下网络是否连接这里我们使用centos7举例子使用命令——ifconfig由此可见我们的系统中目前有3个网卡ens33——用于接入外网,该网卡默认关闭lo——用于访问本地网络&#xff0c…...

数据结构——第二章 线性表(8)——线性表总结

线性表总结 线性表是线性结构的基本形式,用于描述一组同类型而具有1:1线性关系的数据对象。将此类数据对象存放在计算机的内存中时,必须考虑数据元素的存放和数据元素之间关系的存放。常用的存储结构有顺序存结构和链式结构。 顺序表存储特点是用一维数…...

3.7寸按键翻页工牌

产品参数 产品型号 ESL_BWR3.7_BLE 产品尺寸 (mm) 62.51066.5 显示技术 E ink 显示区域 (mm) 47.32(H)81.12(V) 分辨率 (像素) 280480 像素尺寸(mm) 0.1690.169 150dpi 显示颜色 黑/白 视觉角度 180 工作温度 0℃ - 50℃ 电池 500mAh ( Type-C 充电…...

西北工业大学大学物理(II)选填解析2019-2020期末

2 又是考查“一个电子和一个光子具有相同的波长,则二者动量相等。”4 斯特恩盖拉赫实验,原子的自旋磁矩取向量子化。7 通常我们感受不到电子的波动性。因为其波长短,其实也就是粒子运动速率高。10 考查无限长直导线周围B分布。常见的模型要记…...

[计算机网络(第八版)]第一章 概述(章节测试/章节作业)

随堂作业 练习版(无答案版) 1.2 因特网概述 1【单选题】因特网的前身是1969年创建的第一个分组交换网 A、internetB、InternetC、NSFNETD、ARPANET 2【单选题】因特网采用的核心技术是 A、TCP/IPB、局域网技术C、远程通信技术D、光纤技术 1.3 三种交换方式:电路…...

华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典

文章目录2023 年用 Python 语言解华为 OD 机试题,一篇博客找全。华为 OD 机试题清单(机试题库还在逐日更新)2023 年用 Python 语言解华为 OD 机试题,一篇博客找全。 在 2023 年,Python 已成为广泛使用的编程语言之一&…...

电子科技大学数据库与软件工程三

适用于网工和物联网专业 目录 一、实验目的 二、实验内容 三、实验软件 四、实验步骤及数据记录 1.子查询 2. 伪列 3.数据库对象 4. 块、存储过程和触发器 五、实验结论及思考题 实验结论: 思考题: 六、总结及心得体会 七、对本实验过程及方…...

华为开源自研AI框架昇思MindSpore数据变换:Transforms

目录一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例二、数据变换 TransformsCommon TransformsComposeVision TransformsRescaleNormalizeHWC2CWHText TransformsBasicTokenizerLookupLambda Transforms通常情况下,直接加载的原始数据并不能直接送入…...

软件测试之边界值测试法

边界值测试法 1. 介绍 边界值分析法就是对输入或输出边界值进行测试的,也是一种黑盒测试. 边界值分析法通常作为等价类划分法的补充,其测试用例来自等价类的边界;长期的经验得知,大量的错误是发现在输入或输出范围的边界上,而不是发生再输入输出范围的内部&#…...

【华为OD机试模拟题】用 C++ 实现 - 最近的点(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客使用说明最近的点题目输入输出示例一输入输出Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址…...

Qt windeployqt.exe 打包qml

Qt系列文章目录 文章目录Qt系列文章目录前言一、遇到的坑二、参考前言 我们在QtCreator下面开发程序,一般都会遇到工程发布给客户使用的情况。我们通常会使用Qt自带的打包工具:windeployqt.exe。 windeployqt.exe是Qt自带的工具,用于创建应用…...

【人脸识别】CurricularFace:自适应课程学习人脸识别损失函数

论文题目:《CurricularFace: Adaptive Curriculum Learning Loss for Deep Face Recognition》 论文地址:https://arxiv.org/pdf/2004.00288v1.pdf 代码地址:https://github.com/HuangYG123/CurricularFace 建议先了解下这篇文章&#xff1a…...

springmvc之rest风格(RESTFUL)

目录 一、介绍 1.什么是REST? 2.REST的实质 3.REST风格的优点 4.REST风格的缺点 3.什么是RESTful? 二、代码理解 一、介绍 1.什么是REST? 答:REST(Representational State Transfer) ,表现形式转…...

django项目实战十四(django+bootstrap实现增删改查)进阶混合数据使用modelform上传

目录 一、启用media 1、URL设置 2、settings.py配置 二、url 三、upload.py 新增upload_modelform方法 四、form.py新增UpModelForm 五、创建city表 六、创建city_list.html 接上一篇《django项目实战十三(djangobootstrap实现增删改查)进阶混合数据f…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...