Vuex配置及Vuex原理图分析,简单明了,一遍就明白

article/2025/4/22 9:06:23

配置Vuex

npm i vuex@3 或npm i vue@4

因为是Vue2 使用的是Vuex3 版本 Vue3使用的是Vuex4版本 根据使用的脚手架而定

然后导入Vuex 代码如下 专门设置一个文件夹用来 放vuex 设置 三个属性

// 该文件是Vuex 核心store// 引入Vuex
import Vue from 'vue'
import Vuex from 'vuex'
//准备 actions---用于响应组件中的动作
Vue.use(Vuex)
//准备 actions---用于响应组件中的动作
const actions = {  //业务逻辑
}
//准备mutations --- 用于操作数据(state)
const mutations = {// 没有逻辑直接写进去 绕过 actions
}
// 准备state----存储数据
const state = {sum: 0
}// 创建store // 导出store
export default new Vuex.Store({actions,mutations,state,
})

然后再 入口文件 导入 这个文件 就可以使用Vuex了

为什么要设置三个对象还有 暴露 store 因为 里面的三个属性都是有需要的 那么三个属性对象 都是由state 管理的注册到Vue实例对象上 可以让 组件实例对象也可以访问到$store 可以实现数据共享

Vuex工作 原理

仔细阅读

由三个单词组成 Actios(安可身思) Mutations(mu特身思) State 对象 可保存许多数据(思得特) 由store(思当) 管理这三个

1那么组件化实例对象就是开头使用dispath 把名字和数据传递给actios

2 Actions:翻译过来即为动作、行为的意思 用来实现有逻辑的代码块 和后端进行交互 请求数据可以写到这个里面业务逻辑 然后通过commit 传递给mutatios 来实现数据改变和页面改变

3 Mutations:翻译过来有变化、转变的意思 用来加工actios传过来的数据 更新state里面的数据里面是不要写业务逻辑的

那么如果你这个代码没有逻辑 没有和后端进行ajax 交互 那么直接可以绕过actios 在组件传递数据的时候直接使用commit

4 State:翻译过来就是状态的意思,这里的状态其实就是数据的意思。 用来储存数据 把需要的数据需要改变的数据存到这个里面

5最后把更新之后的数据通过Render解析模板 传递给组件实例对象 这个就完成一轮循环了

 

在下面代码和图中可以看到 组件和这三个对象是怎么进行数据交互和传值的 我说的还是比较好理解的记得点赞

那么先从组件实例化对象出发你需要写给 Actios传递你的数据和逻辑 使用this.$store.dispatch('函数名',‘需要用到的数据’) 两个参数 ,这个里面的this.$store.dispatch是怎么回事呢 因为是指向组件化实例对象的那么我们在上面已经注册了Vuex了那么随之这里就需要来指向它里面的属性,

  methods: {incrementOdd() {this.$store.dispatch("incrementOdd", this.num);},},

然后axiose里面接收组件传递过来的数据 代码如下 进行逻辑分析 还有这个参数

第一个不是那个最大的store 而是一个迷你的store 因为最大的store里面有很多东西 你们可以打印出来看一看 官方文档context 上下文意思

第二个是组件传过来的参数不用多说

因为vue 不知道你是不是使用commit来传递参数 那么就给了你这样一个对象 你自己来选择

下面就使用context.commit来给mutatios传递 看看那个名字 可以大写我这里用了小写 然后再mutatios里面识别这个单词

const actions = {  //业务逻辑incrementOdd(context, value) {if (context.state.sum % 2) {context.commit('incrementOdd', value)}},
}

 在然后 actios现在要给mutatios 把数据进行加工处理 让它交给State 更新数据 来看看他们里面的参数

也是进行数据处理 在Vue中我们知道data 数据是交给_data进行数据劫持 然后匹配到get set进行加工处理数据 那么在这里 它虽然不是_data 其实也是差不多的 只是名字不一样 目的就是一个检测数据变化

//准备mutations --- 用于操作数据(state)
const mutations = {incrementOdd(state, value) {// console.log('mutatios', a, b);state.sum += value},
}

最后那么数据是怎么渲染到页面上的是通过插值语法 前面加$store.state.xxx来渲染的 因为是在实例化对象里面顺利着那条线就找到了

下面这个是 流程图 欢迎指导错误

 

 


http://chatgpt.dhexx.cn/article/DjWx8Nb5.shtml

相关文章

vuex工作原理与流程

vuex工作原理与流程 Vue组件(action里面的dispatch )--> actions(commit方法) -->mutations(Mutate)--> state(getter) -->store更新所有调用vuex的组件(Vue Component组件&#x…

Vue知识点整理(五)- vuex(1)- Vuex简介、Vuex工作原理、搭载Vuex环境、求和案例

目录 一、vuex简介 1.1 vuex是什么 1.2 什么时候使用Vuex 二、Vuex工作原理图 2.1 官方vuex工作原理图 2.2 Vuex工作流程 三、搭建Vuex环境 3.1 安装 3.2 引用Vuex 四、案例练习 - 求和案例 4.1 Count.vue 4.2 App.vue 4.3 index.js 一、vuex简介 1.1 vuex是什么…

Vuex框架原理与源码分析

本文授权转自微信公众号“美团点评技术团队”。 作者简介:明裔,美团外卖高级前端研发工程师,2014年加入美团外卖,负责Web主站开发。先后参与了外卖B端、C端、配送等全业务线系统开发后,目前主要负责商家券活动系统。 责…

vuex原理和下载

vuex:状态管理模式 vue全家桶:vue-cli(脚手架)、vue-router(路由管理器)、vuex(状态管理模式) 原理图示: 原理描述: vuex在vue组件外面进行组件状态的管理…

手写Vuex核心原理,再也不怕面试官问我Vuex原理

手写Vuex核心原理 文章目录 手写Vuex核心原理一、核心原理二、基本准备工作三、剖析Vuex本质四、分析Vue.use五、完善install方法六、实现Vuex的state七、实现getter八、实现mutation九、实现actions 一、核心原理 Vuex本质是一个对象Vuex对象有两个属性,一个是ins…

vuex实现原理

文章目录 vuex是什么?为什么会出现?怎么使用?怎么实现?1、给每个实例注入$store2、设置state响应数据3、getters4、mutations5、actions6、modules7、持久化插件plugins8、辅助函数mapState用法命名空间用法实现原理命名空间原理 …

Vuex的实现原理解析(最清晰)

Vuex的实现原理解析(最清晰) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,可以帮助我们管理共享状态。 如何在Vue中使用Vuex? 如下先来回顾一下使用Vuex的正确姿势: 引入Vuex插件; // store.js Vue.use(Vuex);将Vuex.Store这个类实例化&…

通俗理解vuex原理---通过vue例子类比

主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一。 首先我们先了解下vuex的作用 vuex其实是集中的数据管理仓库,相当于数据库mongoDB,MySQL等,任何组件都可以存取仓库中的数据。 vuex流程与vue类比 我们看一下…

遇见面试--vuex原理

遇见面试 Vuex原理解析 一、前言 自从学习了VUE框架,其中必不可少的会用到vuex这个核心插件,而且在做项目的时候,基本都会使用,可能你会使用vuex状态管理,但是对vuex原理存在着或多或少的的疑惑或不解,这…

vuex的工作原理

Vuex是做什么的? 官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 它采用 集中式存储管理 应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension&#xff0…

vuex 的实现原理

一、Vuex是什么   Vuex是专门为Vuejs应用程序设计的状态管理工具。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 1、Vuex的构成 由上图,我们可以看出Vuex有以下几个部分构成: 1&#x…

vuex原理

目录 一、 为啥会出现vuex 二 、什么是vuex 三、 怎么使用vuex 四、vue和vuex比较 五、vuex的五个属性 5.1 state 5.2 mutations 5.3 getters 5.4 Actions 5.5 Modules 六、为啥state里的数据可以实现响应式 七、为啥每个组件都可以拿到state里的数据 一、 为啥会出…

vuex的原理

1.vuex的作用 vuex是专门为Vuejs应用程序设计的状态管理工具。其实是集中的数据管理仓库。相当于数据库mongoDB等,任何组件都可以存取仓库中的数据。 vuex的组成部分: state:是存储的基本数据。mutations:提交更改数据。getter:对state加工&#xff0c…

vuex 的基本用法

一、vuex是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态, 这个状态管理应用包含以下几个部分: state,驱动应用的数据源;view,以声明方式将 stat…

DNS风险分析及安全防护研究(三):DNS缓存投毒及防御策略

在前面章节中,我们简单介绍了DNS系统在协议、软件以及结构中脆弱性,并对DNSSEC协议、去中心化结构等安全增强进行了讨论,接下来针对DNS安全所面临的外部攻击威胁和相应的防御策略做下讨论。 1.DNS缓存投毒攻击 在目前各种DNS攻击手段中&…

细说SQL注入:攻击手法与防御策略

一、 SQL注入的基本概念 (一)什么是SQL注入 SQL注入是一种常见的网络攻击技术,它允许攻击者在Web应用程序中插入并执行恶意的SQL代码。这种攻击通常针对的是数据驱动的应用程序,尤其是那些未对用户输入进行充分过滤和处理的应用程…

服务器被cc攻击的简单防御策略(附代码)

CC攻击(也称为网络层攻击或流量攻击)是指企图通过向网站或服务器发送大量伪造的请求,以干扰正常的用户访问的攻击。这些请求可能是来自单个设备的,也可能是来自一群被控制的设备的。为了防御CC攻击,你可以考虑使用以下…

DOS防御策略

该方法能解决一些小型服务的DOS防御问题,成本不高,能在一定程度上起到DOS防御的作用。 原本服务架构 我们的服务器向多个客户机提供服务,这里以腾讯云服务器为例,假设服务商租了一台腾讯云的服务器,一旦服务器收到攻击…

网络安全中的常见攻击类型和防御策略

友情链接:简单实用的IPAD协议框架GeWe框架 网络安全是当前互联网世界中的重要问题。本文将详细介绍常见的网络攻击类型,包括分布式拒绝服务攻击(DDoS)、SQL注入、钓鱼等,并提供相应的防御策略。读者将了解如何识别和应…