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

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

 

 

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...