vue 中的 Vuex

news/2024/10/24 11:18:45/

Vuex

Vuex是什么?

概念:专门在vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信

搭建Vuex环境

  1. 下载安装vuex 使用命令: npm i vuex
  2. 创建src/store/index.js该文件用于创建Vuex中最为核心的 store(store是文件)

Vuex Github地址

$bus.$on('getX',回调)
$bus.$emit('updateX',数据)

在这里插入图片描述

使用Vuex组件

什么时候使用Vuex

  1. 多个组件依赖于同一状态
  2. 来自不同组件的行为需要变更同—状态

在这里插入图片描述


1. 引入Vuex【store/index.js】

import Vuex from 'vuex'

2. 注册Vuex插件

Vue.use(Vuex)

3. 准备三个组件 actions mutations state

准备actions–用于响应组件中的动作
const actions = {}
准备mutations–用于操作数据(state)
const mutations = {}
准备state–用于存储数据
const state = {}

4. 创建并暴露store

javascript">	export default new Vuex.Store({actions,mutations,state})

总结:
在这里插入图片描述

使用Vuex编写

  • Vuex的基本使用

1.初始化数据state,配置actions .mutations,操作文件store.js

  1. 读取vuex中的数据
    $store.state.数据名
  2. 修改vuex中的数据 action方法 / mutations方法
    $store.dispatch( 'action中的方法名',数据)
    $store.commit( 'mutations中的方法名',数据)

commit方法
在这里插入图片描述

getters 配置项

概念:当state 中的数据需要经过加工后再使用时,可以使用 getters 加工,相当于全局计算属性在store.js 中追加getters配置

引入全局计算属性 getters

javascript">	const getters = {bigSum(state){return state.sum *10}}//创建并暴露storeexport default new Vuex.Store({getters})

【src/index.js】
在这里插入图片描述

组件中读取数据

javascript">	$store.getters.bigSum

【文件内读取数据 Xxx.vue】
在这里插入图片描述

map方法

  1. mapState方法:用于帮助映射state中的数据为计算属性
    在这里插入图片描述
  2. mapGetters方法:用于帮助映射getters 中的数据为计算属性
    在这里插入图片描述
    √ 3. ** mapActions方法:用于帮助生成与actions对话的方法,即包含$store.dispatch(xxx)的函数**
    在这里插入图片描述
    √ 4. mapMutations方法:用于帮助生成与mutations对话的方法,即包含
    $store.commit(xxx)的函数

    在这里插入图片描述
    注意: mapActions 与mapMutations使用时
    若需要传递参数需要:在模板中绑定事件时传递好参数 否则参数是事件对象

http://www.ppmy.cn/news/1461070.html

相关文章

Spring boot环境的常见问题

文章目录 一、启动类无法运行二、包相关问题2.1 默认配置的包无法下载2.2 第三方库的包无法下载2.3 包找不到 三、出现了一个无效的源发行版17四、类文件具有错误的版本 61.0,应为52.0五、控制台乱码 一、启动类无法运行 原因:IDEA 没有把当前项目识别成…

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发(七) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(六)&#x1f…

【云原生】Kubeadm搭建K8S

一、部署Kubernetes 实验环境 服务器主机名IP地址主要组件k8s集群master01 etcd01master01192.168.10.100kube-apiserver kube-controller-manager kube-schedular etcdk8s集群node01 etcd02node01192.168.10.101kubelet kube-proxy docker flannelk8s集群node02 etcd03nod…

容器组件:角标组件,纵向拖动组件(HarmonyOS学习第四课【4.2】)

Badge(角标组件) 可以附加在单个组件上用于信息标记的容器组件。 说明 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 说明 子组件类型:系统组件…

物理层——计算机网络学习笔记二

目录 物理层的基本概念 数据通信的基础知识 物理层下面的传输媒体 信道复用技术 图片大部分来源于谢希仁《计算机网络》教材配套的ppt。 这一样都是介绍一下概念性的东西,了解一下就行,就重要性而言不如后面的内容。 物理层的作用:考虑如何才…

国产化开源鸿蒙系统智能终端RK3568主板在电子班牌项目的应用

国产化开源鸿蒙系统智能终端主板AIoT-3568A、人脸识别算法的的电子班牌方案可支持校园信息发布、人脸识别考勤、考场管理、查询互动等多项功能,助力学校在硬件上实现信息化、网络化、数字化,构建“学校、教师、学生”三个维度的智慧教育空间。 方案优势 …

【vue+vue-treeselect】根据指定字段,如isLeaf(是否末级节点),设置只允许末级节点可以选

1、当项目有特殊要求,必须根据某个字段的值去判断,是否节点可以选,即使已经是末级节点了,还是需要根据字段判断是否禁用 (1) :flat"true"一定要设置 (2)获取数据源的时候,设置下禁用…

HIVE大数据平台SQL优化分享

相信很多小伙伴在面试的时候,必然跳不过去的一个问题就是SQL脚本的优化,这是很多面试官爱问的问题,也是可以证明你实力进阶的一个重要的能力。 下面给大家分享一个重量级的大数据行业sql技能---hive大数据平台SQL优化。 此文章是大数据平台运维组从多维度参数(CPU,内存,…