Vue框架学习(第十三课)Vuex状态管理中的store和state属性
创始人
2024-03-14 13:40:01
0

5fd9e10acdb2464d9483580fa95c09d8.png

学习官网文档:开始 | Vuex (vuejs.org)

第一部分:查图观色思考为什么?下面的一张图中的数据如何实现组件与组件之间的数据共享呢?

e56b267133014cb4916fa978b3ccd285.png

 如何去实现下面的方案呢能让数据得到共享

6a69f2e5efa04fce80752796d4fcbcd8.png

 

6a78a14d95e040d1925f54db8659670f.png

这一张图告诉你们答案

 

27a42b0c38f74defb005e7ccb3abf60e.png

这样如何实现组件与组件之间的通信呀

 Vuex五个核心的基本概念:

  • 1. state 首先我们需要弄清楚的是state的功能,我们前面提到state是用来放置我们所有状态的属性。在Vuex中提出了单一状态树的概念,也就是单一数据源的意思。意思就是我们全局只有一个store实例,也就是是我们只有一个管家的角色,这样一来统一了数据源,不会造成一些不必要的冲突。单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。

  • 2. Getters的使用这里的getters实际上类似于我们组件中的计算属性,通常用于返回我们某个状态改变后的状态。并且我们定义的getters函数可以包含一个state的参数,这个参数的含义就是我们的store下的state状态

  • ​3 Mutation 通过文中一开始贴的图我们看出Vuex的store中状态更新的唯一方式就是通过提交Mutation的方式来进行,因为我么这里需要DevTools进行追踪我们状态的更新情况。因此我们可以知道Mutation常常用于操作变更状态数据。

  • 4. Action经过文上对Mutaion同步函数的介绍你是否对Action有一定的理解,对,就是Vuex为我们专门用于异步耗时操作的一个环节。之后再取将我们数据提交到Mutation。Action中的函数是可以有两个参数的,一个是context,一个是我们的payload,payload参数和Mutation的参数使用是一样的。其中context是指上下文,代表了我们的store对象。

  • 5 Moudle Module是模块的意思, 为什么在Vuex中我们要使用模块呢? Vue使用单一状态树,那么也意味着很多状态都会交给Vuex来管理。当应用变得非常复杂时,store对象就有可能变得相当臃肿.为了解决这个问题, Vuex允许我们将store分割成模块(Module), 而每个模块拥有自己的state、mutation、action、get

e890eb76a2174648a487d49a194a7a15.png

 下载vuex: npm install vuex

在主文件中导入 main.js文件中配置内容

import { createApp } from 'vue'
// import App from './App.vue'
// import App from './01 vuex的案例起步/App.vue'
import App from './01 vue原始方式的计数器/App.vue'
// import App from './02 pinia的基本的使用/App.vue'
// 用户导入的是路由组件 默认index
import router from './router'
// 用户导入的是vuex的组件
import store from './store'
createApp(App).use(store).use(router).mount('#app')

fa02cd6eaf8a4fb983d1afcad4e623c3.png

 

8ca25c85028f4e13809e1d6c91d29b9c.png

 

52a6043b56264d14be7e3305293bf3f9.png

 

26fdcdee2f814f44a71cfd054c1f78b5.png

 

74bc53d5b1c740569c21fb9061814e38.png

 

cf683cac1044406c94d92f98e05dadad.png

55436910b6ec48769edf6c28ff38cad5.png

 

99fb4e70c17b4797a031969c6f7a119a.png

 

78cbe9fec0a44ba99877808b6e8d29cd.png

 

aaf9dddcc6af42b39427aebd869cc5e5.png

 

b98ad39a930c4d88825592629bbdbcee.png

思考一下该如何去拿上面的数据呢

 

 

 

相关内容

热门资讯

修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
【前端】‘??‘与‘||‘有什... 0 问题 经常写const data = res.data.a ?? ''或者const d...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
牛客计算器的改良(Python... 文章目录1.题目描述2.输入描述:3.输出描述:4.示例15.分析6.代码7.结语 链接࿱...
正大杯|市调大赛|2023备赛... 关键信息 同时随着精细化养宠趋势的深入,宠物消费类目日渐丰富。 本报告通过 Niuco...
QGIS下载在线地图(Goog... 前言 国内外有很多在线地图下载软件,但功能单一,基本上只能下载数据&#x...