前端Vue入门-day07-Vuex入门
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录
自定义创建项目
vuex概述
构建 vuex [多组件数据共享] 环境
创建一个空仓库
state 状态
1. 提供数据:
2. 使用数据:
mutations
辅助函数 - mapMutations
actions
辅助函数 - mapActions
Getter
模块 module (进阶语法)
访问语法-state
访问语法-getters
访问语法-mutation
访问语法-action
自定义创建项目
目标:基于 VueCli 自定义创建项目架子![]()
开始创建项目
选择自定义创建项目
![]()
选择文件需要配置的特性
![]()
选择版本
是否选择历史模式
css预处理器选择
选择ESLint规范
选择在什么时候开始校验
选择配置文件存放位置
是否保存
vuex概述
1. 是什么:vuex 是一个 vue 的 状态管理工具 ,状态就是数据。大白话:vuex 是一个插件,可以帮我们 管理 vue 通用的数据 (多组件共享的数据) 例如:购物车数据 个人信息数据2. 场景:① 某个状态 在 很多个组件 来使用 (个人信息)② 多个组件 共同维护 一份数据 (购物车)3. 优势:① 共同维护一份数据, 数据集中化管理② 响应式变化③ 操作简洁 (vuex提供了一些辅助函数)![]()
构建 vuex [多组件数据共享] 环境
效果是三个组件, 共享一份数据:任意一个组件都可以修改数据三个组件的数据是同步的
创建一个空仓库

// 这里存放的就是vuex相关的核心代码
import Vue from 'vue'
import Vuex from 'vuex'// 插件安装
Vue.use(Vuex)// 创建仓库
const store = new Vuex.Store()// 导出给main.js
export default store
state 状态
1. 提供数据:
State 提供唯一的公共数据源,所有共享的数据都要统一放到 Store 中的 State 中存储。在 state 对象中可以添加我们要共享的数据
2. 使用数据:
① 通过 store 直接访问
② 通过辅助函数mapState是辅助函数,帮助我们把 store中的数据 自动 映射到 组件的计算属性中![]()
mutations
目标:掌握 mutations 的操作流程,来修改 state 数据。 (state数据的修改只能通过 mutations )
1. 定义 mutations 对象,对象中存放修改 state 的方法
2. 组件中提交调用 mutations
提交 mutation 是可以传递参数的 `this.$store.commit( 'xxx', 参数 )`
1. 提供 mutation 函数 (带参数 - 提交载荷 payload )
2. 页面中提交调用 mutation![]()
Tips: 提交参数只能一个,如果有多个参数,包装成一个对象传递
辅助函数 - mapMutations
目标:掌握辅助函数 mapMutations,映射方法mapMutations 和 mapState很像,它是把位于 mutations中的方法 提取了出来,映射到 组件methods 中![]()
actions
目标:明确 actions 的基本语法,处理异步操作。说明: mutations 必须是同步的 (便于监测数据变化,记录调试)1. 提供action 方法![]()
2. 页面中 dispatch 调用
辅助函数 - mapActions
mapActions 是把位于 actions中的方法提取了出来,映射到组件methods中
Getter
说明:除了state之外,有时我们还需要从state中 派生出一些状态 ,这些状态是依赖state的,此时会用到getters目标:掌握核心概念 getters 的基本语法 (类似于计算属性)例如:state中定义了list,为 1-10 的数组,组件中,需要显示所有大于5的数据
1. 定义 getters
2. 访问getters① 通过 store 访问 getters
② 通过辅助函数 mapGetters 映射
模块 module (进阶语法)
由于 vuex 使用 单一状态树 ,应用的所有状态 会集中到一个比较大的对象 。
当应用变得非常复杂时, store 对象就有可能变得相当臃肿。(当项目变得越来越大的时候,Vuex会变得越来越难以维护)
模块拆分:
user模块: store/modules/user.js
访问语法-state
目标:掌握模块中 state 的访问语法尽管已经分模块了,但其实子模块的状态,还是会挂到根级别的 state 中,属性名就是模块名使用模块中的数据:① 直接通过模块名访问 $store.state.模块名.xxx② 通过 mapState 映射默认根级别的映射 mapState([ 'xxx' ])子模块的映射 mapState('模块名', ['xxx']) - 需要开启命名空间![]()
访问语法-getters
目标:掌握模块中 getters 的访问语法使用模块中 getters 中的数据:① 直接通过模块名访问 $store.getters['模块名/xxx ']② 通过 mapGetters 映射默认根级别的映射 mapGetters([ 'xxx' ])子模块的映射 mapGetters('模块名', ['xxx']) - 需要开启命名空间![]()
访问语法-mutation
目标:掌握模块中 mutation 的调用语法注意:默认模块中的 mutation 和 actions 会被挂载到全局, 需要开启命名空间 ,才会挂载到子模块。调用子模块中 mutation:① 直接通过 store 调用 $store.commit('模块名/xxx ', 额外参数)② 通过 mapMutations 映射默认根级别的映射 mapMutations([ 'xxx' ])子模块的映射 mapMutations('模块名', ['xxx']) - 需要开启命名空间![]()
访问语法-action
目标:掌握模块中 action 的调用语法 (同理 - 直接类比 mutation 即可)注意:默认模块中的 mutation 和 actions 会被挂载到全局, 需要开启命名空间 ,才会挂载到子模块。调用子模块中 action :① 直接通过 store 调用 $store.dispatch('模块名/xxx ', 额外参数)② 通过 mapActions 映射默认根级别的映射 mapActions([ 'xxx' ])子模块的映射 mapActions('模块名', ['xxx']) - 需要开启命名空间![]()
相关文章:
前端Vue入门-day07-Vuex入门
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 自定义创建项目 vuex概述 构建 vuex [多组件数据共享] 环境 创建一个空仓库 state 状态 1. 提供数据&…...
2023再谈前端状态管理
目录 什么是状态管理? 状态 常见模式 要解决的问题 心智模型 React Context Context 的问题 优点 缺点 React 外部状态管理库 概览 Class 时代 Redux 单向数据流 三大原则 如何处理异步 如何处理数据间联动 优点 缺点 Dva icestore Mobx 设…...
ffmpeg SDL播放器--播放udp组播流
c调用ffmpeg api及SDL库播放播放udp组播流。 代码及工程见https://download.csdn.net/download/daqinzl/88168574 参考文档:https://blog.csdn.net/a53818742/article/details/109312740 开发工具:visual studio 2019 记得推送udp流,可采…...
__attribute__((noreturn))
GNU C 的一大特色就是__attribute__ 机制,__attribute__ 可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 语法格式为: __attribute__((att…...
遮挡边界处的深度补全和双曲面外推
论文地址:Depth Completion with Twin Surface Extrapolation at Occlusion Boundaries 论文代码:https://github.com/imransai/TWISE 深度补全是从稀疏的已知深度值开始,为其余图像像素估计未知深度。 大多数方法将其建模为深度插值&#x…...
LK-99室温超导激发万万亿市场,将对我们的生活产生哪些影响?
7月下旬,韩国量子能源研究中心公司相关研究团队在预印本网站上陆续公布两篇类似的论文,宣称一种命名为LK-99的铜掺杂铅磷灰石材料拥有“室温常压”超导能力,系全世界首款室温常压超导材料。 它们的实验方法比较简单,就是把铅、铜、…...
子集——力扣78
文章目录 题目描述法一 迭代法实现子集枚举题目描述 法一 迭代法实现子集枚举 class Solution {public:vector<int> t;vector<vector<...
【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(8 月 2 日论文合集)
文章目录 一、检测相关(8篇)1.1 Explainable Cost-Sensitive Deep Neural Networks for Brain Tumor Detection from Brain MRI Images considering Data Imbalance1.2 MonoNext: A 3D Monocular Object Detection with ConvNext1.3 Detecting Cloud Presence in Satellite Ima…...
JDK中「SPI」原理分析
基于【JDK1.8】 一、SPI简介 1、概念 SPI即service-provider-interface的简写; JDK内置的服务提供加载机制,可以为服务接口加载实现类,解耦是其核心思想,也是很多框架和组件的常用手段; 2、入门案例 2.1 定义接口 …...
DSL:数字用户线路(Digital Subscriber Line)
一、基础释义 DSL(数字用户线路,Digital Subscriber Line)是一种用于传输数字数据的通信技术,允许数据在传统的电话线路(铜线)上进行高速传输。DSL技术通过将高频信号叠加在低频的语音信号上,使…...
Java集合ArrayList详解
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 Java 数组 与 ArrayList 在Java中,我们需要先声明数组的大…...
React Dva项目 Model中编写与调用异步函数
上文 React Dva项目中模仿网络请求数据方法 中,我们用项目方法模拟了后端请求的数据 那么 今天我们就在models中尝试去使用一下这种异步获取数据的方法 之前 我们在文章 React Dva项目创建Model,并演示数据管理与函数调用 中已经接触过Model了 也可以理解为 它就是 …...
小程序自定义tabBar+Vant weapp
1.构建npm,安装Vant weapp: 1)根目录下 ,初始化生成依赖文件package.json npm init -y 2)安装vant # 通过 npm 安装 npm i vant/weapp -S --production 3)修改 package.json 文件 开发者工具创建的项…...
Dubbo+Zookeeper使用
说明:Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。 本文介绍Dubbo的简单使用及一些Dubbo功能特性,注册中心使用的是ZooKeeper,可在…...
短视频平台视频怎么去掉水印?
短视频怎么去水印,困扰很多人,例如,有些logo水印,动态水印等等,分享操作经验: 抖音作为中国最受欢迎的社交娱乐应用程序之一,已成为许多人日常生活中不可或缺的一部分。在使用抖音过程中&#x…...
Stable Diffusion - Style Editor 和 Easy Prompt Selector 提示词插件配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132122450 Style Editor 插件: cd extensions git clone https://ghproxy.com/https://github.com/chrisgoringe/Styles-Editor报错&…...
Stable Diffusion - SDXL 模型测试 (DreamShaper 和 GuoFeng v4) 与全身图像参数配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132085757 图像来源于 GuoFeng v4 XL 模型,艺术风格是赛博朋克、漫画、奇幻。 全身图像是指拍摄对象的整个身体都在画面中的照片&…...
中介者模式(Mediator)
中介者模式是一种行为设计模式,可以减少对象之间混乱无序的依赖关系。该模式会限制对象之间的直接交互,迫使它们通过一个封装了对象间交互行为的中介者对象来进行合作,从而使对象间耦合松散,并可独立地改变它们之间的交互。中介者…...
SpringBoot使用@Autowired将实现类注入到List或者Map集合中
前言 最近看到RuoYi-Vue-Plus翻译功能 Translation的翻译模块配置类TranslationConfig,其中有一个注入TranslationInterface翻译接口实现类的写法让我感到很新颖,但这种写法在Spring 3.0版本以后就已经支持注入List和Map,平时都没有注意到这…...
【linux目录的权限和粘滞位】
目录: 目录的权限粘滞位总结 目录的权限 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中. 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件. 粘…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...


















