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

大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理

大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理

Vuex是Vue.js应用程序中专门用来管理状态的工具,就好像是一个大管家,帮你把项目里一些重要的数据和操作管理得井井有条。下面用大白话结合案例来介绍Vuex核心概念state、mutations、actions的使用案例与原理:

state

  • 原理:state就像是一个仓库,用来存放数据的。在Vuex里,它就是用来存储整个应用程序中需要共享的数据的地方,比如用户的登录状态、用户名、购物车商品列表等。组件可以从这个仓库里获取数据来展示。
  • 使用案例
// 创建一个Vuex实例
const store = new Vuex.Store({state: {// 存储当前登录用户的姓名username: '张三' }
});// 在Vue组件中获取state中的数据
export default {computed: {user() {// 通过this.$store.state来访问state中的数据return this.$store.state.username; }}
};

mutations

  • 原理:mutations就像是仓库管理员,专门负责修改仓库(state)里的数据。但是这个管理员很严格,只能通过它规定的方式来修改数据,这样可以保证数据的修改是可控的、可追踪的。而且mutations里的函数必须是同步的,不能是异步的,就像管理员一次只能做一件事,不能同时做好几件事。
  • 使用案例
const store = new Vuex.Store({state: {count: 0},mutations: {// 定义一个名为increment的mutation来增加count的值increment(state) { state.count++;}}
});// 在Vue组件中提交mutation
methods: {add() {// 通过this.$store.commit来提交mutationthis.$store.commit('increment'); }
}

actions

  • 原理:actions可以理解为是仓库的调度员,它不直接修改数据,但是可以指挥管理员(mutations)去修改数据。它的作用是处理一些异步操作,比如从服务器获取数据,等数据拿到了再告诉管理员去修改仓库里的数据。
  • 使用案例
const store = new Vuex.Store({state: {userList: []},mutations: {// 定义一个名为setUserList的mutation来设置用户列表setUserList(state, users) { state.userList = users;}},actions: {// 定义一个名为fetchUsers的action来获取用户列表async fetchUsers({ commit }) { // 假设这里是发送网络请求获取用户数据const response = await axios.get('https://example.com/api/users'); // 拿到数据后,通过commit提交mutation来修改statecommit('setUserList', response.data); }}
});// 在Vue组件中调用action
methods: {async getUsers() {// 通过this.$store.dispatch来调用actionawait this.$store.dispatch('fetchUsers'); }
}

React的Diff算法和Vue的Diff算法有什么区别?

相关文章:

大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理

大白话Vuex 核心概念(state、mutations、actions)的使用案例与原理 Vuex是Vue.js应用程序中专门用来管理状态的工具,就好像是一个大管家,帮你把项目里一些重要的数据和操作管理得井井有条。下面用大白话结合案例来介绍Vuex核心概…...

【学写LibreCAD】1 LibreCAD主程序

一、源码 头文件&#xff1a; #ifndef MAIN_H #define MAIN_H#include<QStringList>#define STR(x) #x #define XSTR(x) STR(x)/*** brief handleArgs* param argc cli argument counter from main()* param argv cli arguments from main()* param argClean a list…...

CentOS7最小化安装中使用curl安装yum和wget

在 CentOS 7 最小化安装中&#xff0c;如果已经有curl工具&#xff0c;可以按照以下步骤使用它来安装yum和wget&#xff1a; 1. 备份原有的 yum 源配置文件 为了避免配置冲突或后续需要恢复&#xff0c;先备份原有的yum源配置文件。 mv /etc/yum.repos.d/CentOS-Base.repo /…...

【Linux】learning notes(3)make、copy、move、remove

文章目录 1、mkdir &#xff08;make directory&#xff09;2、rmdir &#xff08;remove directory&#xff09;3、rm&#xff08;remove&#xff09;4、>5、touch 新建文件6、mv&#xff08;move&#xff09;7、cp&#xff08;copy&#xff09; 1、mkdir &#xff08;make…...

P10108 [GESP202312 六级] 闯关游戏

题目大意 如题 分析 设最佳通关方案为 { s 1 , s 2 , . . . , s k } \{s_1,s_2,...,s_k\} {s1​,s2​,...,sk​}&#xff0c;其中 s i s_i si​ 代表第 i i i 次到达的关卡&#xff08; ≥ N \ge N ≥N 的不算&#xff09;。 当 a k N − 1 a_kN-1 ak​N−1 时&#…...

Dubbo RPC 原理

一、Dubbo 简介 Apache Dubbo 是一款高性能、轻量级的开源 RPC 框架&#xff0c;支持服务治理、协议扩展、负载均衡、容错机制等核心功能&#xff0c;广泛应用于微服务架构。其核心目标是解决分布式服务之间的高效通信与服务治理问题。 二、Dubbo 架构设计 1. 核心组件 Prov…...

网络安全 机器学习算法 计算机网络安全机制

&#xff08;一&#xff09;网络操作系统 安全 网络操作系统安全是整个网络系统安全的基础。操作系统安全机制主要包括访问控制和隔离控制。 访问控制系统一般包括主体、客体和安全访问政策 访问控制类型&#xff1a; 自主访问控制强制访问控制 访问控制措施&#xff1a; 入…...

【Jenkins】一种灵活定义多个执行label节点的jenkinsfile写法

确定执行机器和自定义工作目录&#xff08;忽略节点的workspace&#xff09; pipeline{agent {node {label "XXXXX"customWorkspace "E:/workspace/"}}parameters {}options {}stages {}post {} }仅确定执行机器 pipeline{agent { label "XXXXX&quo…...

Web自动化之Selenium控制已经打开的浏览器(Chrome,Edge)

在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,我们可以利用Selenium控制已经打开的浏览器&#xff0c;从而避免每次都需要重新打开浏览器并进行登录的繁琐步骤。 目录 说明 启动浏览器 注意 --user-data-dir说明 代码设定 代码 改进代…...

【万字长文】开源之播对话白鲸开源CEO郭炜--乐观主义的开源精神走得更远

本文为白鲸开源科技CEO郭炜1小时深度访谈全记录 来源于&#xff1a;开源之播」Episode15:对话郭炜–乐观主义的开源精神走得更远 大家好&#xff0c;我是郭炜&#xff0c;开源圈的“郭大侠”。作为 Apache 基金会的成员&#xff0c;我曾参与并孵化了多个开源项目&#xff0c;如…...

Verilog 位运算符和逻辑运算符的使用

Verilog 位运算符和逻辑运算符的使用 目录 前言 一、逻辑运算符 二、位运算符 总结 前言 本文详细描述了Verilog 逻辑运算符和位运算符的使用&#xff0c;随着编程的熟练&#xff0c;有时候总是喜欢混用它们&#xff0c;虽然能实现同样的功能&#xff0c;但最好还是注意一下…...

压测报告:DeepSeek-R1-Distill-Qwen-32B模型性能评估

1. 实验背景 本实验旨在评估DeepSeek-R1-Distill-Qwen-32B模型在特定硬件配置下的性能表现。测试硬件为GPU服务器。实验主要关注模型在不同并发请求数下的峰值生成速度。 吞吐量(Throughput): 测试模型在单位时间内可以处理多少请求,通常以“每秒生成的令牌数(tokens/s)…...

【论文笔记】ClipSAM: CLIP and SAM collaboration for zero-shot anomaly segmentation

原文链接 摘要 近年来&#xff0c;CLIP 和 SAM 等基础模型在零样本异常分割 (ZSAS) 任务中展现出良好的性能。然而&#xff0c;无论是基于 CLIP 还是基于 SAM 的 ZSAS 方法&#xff0c;仍然存在不可忽视的关键缺陷&#xff1a;1) CLIP 主要关注不同输入之间的全局特征对齐&am…...

DeepSeek:面向效率与垂直领域的下一代大语言模型技术解析

本文将深入剖析DeepSeek模型的核心算法架构&#xff0c;揭示其在神经网络技术上的突破性创新&#xff0c;并与主流大模型进行全方位技术对比。文章涵盖模型设计理念、训练范式优化、应用场景差异等关键维度&#xff0c;为读者呈现大语言模型领域的最新发展图景。 一、DeepSeek…...

win32汇编环境,加速键的应用示例

;运行效果 ;win32汇编环境,加速键的应用示例 ;加速键&#xff0c;就是按某个键&#xff0c;开启某个功能。不用鼠标点来点去的东西。 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>…...

【计算机网络】OSI模型、TCP/IP模型、路由器、集线器、交换机

一、计算机网络分层结构 计算机网络分层结构 指将计算机网络的功能划分为多个层次&#xff0c;每个层次都有其特定的功能和协议&#xff0c;并且层次之间通过接口进行通信。 分层设计的优势&#xff1a; 模块化&#xff1a;各层独立发展&#xff08;如IPv4→IPv6&#xff0c…...

[Web 安全] 反序列化漏洞 - 学习笔记

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01&#xff1a;反序列化漏洞 — 漏洞介绍 反序列化漏洞是一种常见的安全漏洞&#xff0c;主要出现在应用程序将 序列化数据 重新转换为对象&#xff08;即反序列化&#xff09;的过程中…...

每日一题——字母异位词分组

字母异位词分组 1. 问题描述示例提示 2. 解题思路具体步骤 3. 代码实现4. 代码解析&#xff08;1&#xff09;排序法&#xff08;2&#xff09;哈希表存储&#xff08;3&#xff09;动态内存分配&#xff08;4&#xff09;释放内存1. HASH_FIND_STR 的作用2. 宏的定义4. 详细解…...

力扣 807. 保持城市天际线(Java实现)

题目分析 给定一个二维数组&#xff0c;行列长度相等&#xff0c;要保持四个方向仍一观察高度不变的情况下&#xff0c;适当添加建筑高度&#xff0c;问最大高度增量和。所谓四个方向高度不变的增量&#xff0c;其实就是arr[i][j]与同i行最大值同j列最大值之间的最小值的差&…...

【视频2 - 4】初识操作系统,Linux,虚拟机

&#x1f4dd;前言说明&#xff1a; ●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;主要跟随B站博主灵茶山的视频进行学习&#xff0c;专栏中的每一篇文章对应B站博主灵茶山的一个视频 ●题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。…...

重启securecmd失败

重启securecmd失败 问题描述&#xff1a;KES集群部署工具中&#xff0c;节点管理里新增节点下一步报错无法检查securecmd端口进程情况&#xff0c;安装依赖包后再次下一步提示如下报错&#xff1a; 解决办法&#xff1a; [rootlocalhost cluster]# cd /home/kingbase/cluster…...

python学习四

python运算符与表达式 表达式: Python中的表达式是一种计算结果的代码片段。它可以包 含变量、运算符、常数和函数调用,用于执行各种数学、逻辑 和功能操作 算术运算符: 比较(关系)运算符: 赋值运算符: 逻辑运算符: 位运算符: 成员运算符: 身份运算符 <...

LeetCode 236.二叉树的最近公共祖先

题目&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节…...

react 中,使用antd layout布局中的sider 做sider的展开和收起功能

一 话不多说&#xff0c;先展示效果&#xff1a; 展开时&#xff1a; 收起时&#xff1a; 二、实现代码如下 react 文件 import React, {useState} from react; import {Layout} from antd; import styles from "./index.module.less"; // 这个是样式文件&#…...

2025-02-26 学习记录--C/C++-C语言 整数格式说明符

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; C语言 整数格式说明符 【例如 】&#x1f380; &#xff1a;在 C 语言中&#xff0c;%ld 是 printf 或 scanf 等格式化输入输出函…...

绕过过滤order by

一、常见绕过技术 1、注释符截断 利用注释符&#xff08;如 --、#&#xff09;截断后续查询&#xff0c;消除过滤逻辑的影响。 ORDER BY 1-- 若原查询为 SELECT * FROM table ORDER BY 用户输入&#xff0c;注入后可能忽略后续过滤逻辑。 2、大小写混淆/编码绕过 若过滤是大…...

NLP09-加强1-对比SVM

支持向量机&#xff08;SVM&#xff09; &#xff08;一&#xff09;导入 SVM 相关库 &#xff08;二&#xff09; 修改模型初始化 &#xff08;三&#xff09; 比较 朴素贝叶斯分类器 SVM分类器 支持向量机&#xff08;SVM&#xff09; 代码修改基于NLP09-朴素贝叶斯问句…...

STM32——HAL库开发笔记22(定时器3—呼吸灯实验)(参考来源:b站铁头山羊)

本文利用前几节所学知识来实现一个呼吸灯实验&#xff1a;两颗led灯交替呼吸。 一、STM32CubeMX配置 step1&#xff1a;配置调试接口 step2&#xff1a;配置定时器 定时器1位于APB2总线上&#xff0c;如上图所示。 step3&#xff1a;配置时基单元 按照下图配置 时钟来源配置…...

Vue3+TypeScript 封装一个好用的防抖节流自定义指令

一、前言&#xff1a;为什么需要防抖节流&#xff1f; 在前端开发中&#xff0c;高频触发的事件&#xff08;如滚动、输入、点击等&#xff09;容易导致性能问题。防抖&#xff08;debounce&#xff09; 和 节流&#xff08;throttle&#xff09; 是两种常用的优化手段&#x…...

2025年中国最新安防行业数字安全现状与未来趋势:内生安全成核心共识,从零基础到精通,收藏这篇就够了!

本次&#xff0c;我将为大家剖析由**安奇信发布的《中国安防行业数字安全建设与发展情况白皮书**》。该报告共_37_页&#xff0c;涵盖了众多重要信息和核心论点。若您希望深入了解&#xff0c;请参阅原报告&#xff0c;获取方法已在文档的最后部分提供。 报告核心内容 随着数字…...

项目管理的新理念主要有哪些

随着时代的发展和市场需求的变化&#xff0c;项目管理的理念也在不断地创新和演变。项目管理的新理念包括敏捷管理、精益管理、知识管理、变革管理、协作式管理和项目生命周期管理等。这些新理念不仅能够提高项目的管理效率&#xff0c;还能帮助团队在复杂的环境中更好地应对挑…...

Spring如何解决循环依赖?

一、Spring的三级缓存 关键就是提前暴露未完全创建完毕的Bean。 三级缓存来解决循环依赖&#xff1a; 一级缓存&#xff1a;用于存储完全初始化完成的单例Bean。 二级缓存&#xff1a;用于存储尚未完全初始化&#xff0c;但已实例化的Bean&#xff0c;用于提前暴露对象&#x…...

vscode java环境中文乱码的问题

先说我的结论&#xff1a; 由于我的系统是windows的&#xff0c;所以vscode使用的是默认gbk的编码进行的。 但是我的目的是全部都使用utf-8&#xff0c;因为我的程序始终是要去linux上去运行的&#xff0c;总不能在本地是好的&#xff0c;然后到服务器上就不行了吧&#xff0c;…...

十、大数据资源平台功能架构

一、大数据资源平台的功能架构图总体结构 大数据资源平台功能架构图 关键组件&#xff1a; 1.用户&#xff08;顶行&#xff09; 此部分标识与平台交互的各种利益相关者。 其中包括&#xff1a; 市领导 各部门分析师 区政府 外部组织 公民 开发人员 运营经理 2.功能模…...

OpenEuler学习笔记(三十五):搭建代码托管服务器

以下是主流的代码托管软件分类及推荐&#xff0c;涵盖自托管和云端方案&#xff0c;您可根据团队规模、功能需求及资源情况选择&#xff1a; 一、自托管代码托管平台&#xff08;可私有部署&#xff09; 1. GitLab 简介: 功能全面的 DevOps 平台&#xff0c;支持代码托管、C…...

使用Spring AI调用Ollama的DeepSeek模型实现结构化输出

在 Docker 环境中部署 Ollama 并使用 Spring AI 框架实现结构化输出&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 部署 Ollama 模型 首先&#xff0c;需要在 Docker 中部署 Ollama 并下载 deepseek-r1:1.5b 模型。 1.1 准备部署文件 version: 3.8services:ollam…...

微信小程序调用火山方舟(字节跳动火山引擎)中的DeepSeek大模型

微信小程序的轻量化特性与DeepSeek大模型的AI能力结合&#xff0c;可快速构建智能问答、内容生成等场景化服务。通过火山方舟平台提供的标准化接口&#xff0c;开发者无需深入算法细节即可调用模型能力。 一、注册火山引擎账号&#xff0c;创建API Key和model&#xff08;接入…...

threejs:射线拾取封装

射线拾取封装代码&#xff1a; import * as THREE from three; // 点击事件// 1.坐标转化(鼠标单击的屏幕坐标转标准设备坐标)// 2.射线计算(通过鼠标单击位置相机参数计算射线值)// 3.射线交叉计算// ObjectsArr是用来做射线拾取的对象数组&#xff0c;一个二维数组 export f…...

2024年国赛高教杯数学建模D题反潜航空深弹命中概率问题解题全过程文档及程序

2024年国赛高教杯数学建模 D题 反潜航空深弹命中概率问题 原题再现 应用深水炸弹&#xff08;简称深弹&#xff09;反潜&#xff0c;曾是二战时期反潜的重要手段&#xff0c;而随着现代军事技术的发展&#xff0c;鱼雷已成为现代反潜作战的主要武器。但是&#xff0c;在海峡或…...

爬虫框架与库

爬虫框架与库是用于网络数据抓取的核心工具&#xff0c;帮助开发者高效地从网页中提取结构化数据。 Requests&#xff1a;用于发送HTTP请求。 BeautifulSoup&#xff1a;用于解析HTML和XML。 Scrapy&#xff1a;强大的爬虫框架&#xff0c;适合大规模爬取。 Selenium&#…...

从电子管到量子计算:计算机技术的未来趋势

计算机发展的历史 自古以来人类就在不断地发明和改进计算工具,从结绳计数到算盘,计算尺,手摇计算机,直到1946年第一台电子计算机诞生,虽然电子计算机至今虽然只有短短的半个多世纪,但取得了惊人的发展吗,已经经历了五代的变革。计算机的发展和电子技术的发展密切相关,…...

LeetCode 15.三数之和

15.三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复的三元组…...

c#笔记-基础知识

目录 整数 浮点 decimal bool 引用 object string 值 枚举 关键字 enum 类型转换 隐式转换 ​编辑 显式转换 装箱&#xff0c;拆箱 常量 表达式 ​编辑 字符串的使用 比较字符串 字符格式化 ​编辑 截取字符串 字符串的分割 插入字符串 删除字符串 …...

el-table fixed滚动条被遮挡导致滚动条无法拖动

/* 设置默认高度-滚动条高度 */ .el-table__fixed { height: calc(100% - 16px) !important; } .el-table__fixed:before { height: 0px; }...

如何在个人电脑本地部署Deepseek大模型?Windows10 + Ollama+Deepseek+ChatBox

第一阶段&#xff1a;下载并安装Ollama 1&#xff0c;打开浏览器&#xff0c;进入 Ollama 官方网站 2&#xff0c;点击“Download”&#xff0c;在新页面选择“Windows”&#xff0c;再点击“Download for Windows”。 3&#xff0c;下载完成后&#xff0c;在文件名&#xff0…...

链表题()

1、环形列表 141 方法一、 卡节点数量&#xff0c;或者值范围的bug 方法二、 快慢指针&#xff08;最实用&#xff09;寻找环 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NUL…...

ZIP64扩展和普通ZIP文件有什么区别?

ZIP64扩展是ZIP文件格式的一个扩展&#xff0c;旨在解决传统ZIP格式的限制&#xff0c;尤其是文件大小和数量的限制。以下是ZIP64扩展与普通ZIP文件的主要区别&#xff1a; 1. 文件大小限制 普通ZIP文件&#xff1a; 单个文件大小限制为 4GB&#xff08;2^32字节&#xff09;。…...

smolagents学习笔记系列(五)Tools-in-depth-guide

这篇文章锁定官网教程中的 Tools-in-depth-guide 章节&#xff0c;主要介绍了如何详细构造自己的Tools&#xff0c;在之前的博文 smolagents学习笔记系列&#xff08;二&#xff09;Agents - Guided tour 中我初步介绍了下如何将一个函数或一个类声明成 smolagents 的工具&…...

使用 Apache Dubbo 释放 DeepSeek R1 的全部潜力

作者&#xff1a;陈子康&#xff0c;Apache Dubbo Contributor 2025年1月20日&#xff0c;国产大模型公司深度求索&#xff08;DeepSeek&#xff09;正式发布了大语言模型 DeepSeek-R1&#xff0c;并同步开源其模型权重。通过大规模强化学习技术&#xff0c;DeepSeek-R1 显著提…...

【星云 Orbit-F4 开发板】03b. 按键玩法二:独立按键双击双击触发

【星云 Orbit-F4 开发板】03b. 按键玩法二&#xff1a;独立按键双击触发 引言 在嵌入式系统中&#xff0c;按键是常用的输入设备。通过检测按键的状态变化&#xff0c;可以实现多种功能&#xff0c;例如单击、双击、长按等。本文将详细介绍如何使用STM32F103的GPIO引脚检测独…...