vuex教程,只需一篇让你搞懂vuex
创始人
2025-05-28 06:15:30
0

目录

1.安装vuex npm i vuex

2.在src目录下创建store文件夹,文件夹内创建index.js

 文件结构如下:

 3.在main.js中导入使用

 4,首先做一个计数器,创建一个Count组件

 记得组件需要注册,在根组件中注册与使用

 5.开始写变更数据的方法与逻辑,因为现在只需要点击加一,没有异步操作,使用直接用mutations即可,尚不需要actions的参与

 6.减法功能和上面加法的一致

7.页面效果如下: 

 8.接下来做一步点击加或减按钮后等待三秒执行,因为这是一个异步操作,所以就需要用到actions

9.页面效果如下: 

10.vuex组件传参, 前面说到,vuex是为了让组件间传递数据更加方便,接下来就再创建两个组件,并在vuex中添加数据,为了凸显在组件间中传递数据的便利,所以把count组件和teacher组件形成兄弟关系(也就是同层级关系),把teacher组件和student组件形成父子关系(也就是嵌套关系)

 11.接下来把vuex中的学生数据,展示到count组件中,

 把count数据展示到teacher中

 非常简单,现用现取,页面效果如下

 12.模块化,现在已经有三个组件了,都用到了vuex,这时vuex会显得臃肿,行数很多,不容易查看维护,这时候就用到了moudle配置项,我们把用到vuex的组件再在store文件夹中新建一个与之对应的js文件,并在index.js文件中导入使用

 13.在组件中调用就需要用$store.state.xxx.count

 14.前面已经介绍了state,mutations,actions,moudles配置项,还有一个getter,在这里说下,它能简化数据调用层级,在teacher.js中,teacher数据的层级很深,需要一直用.来调用,现在我们来改造下

 在组件中调用

 和没用getters之前对比:

15.现在整体案例已经完成,不知道大家现在是否对vuex有了更加直观的感受,操作vuex还有更加简便的方法,mapState,mapGetters,mapMutations和mapActions四个高阶方法,大家闲余时间可以去搜索使用一下,做一下练习锻炼,在这里我就不再赘述了,以上操作完全够用,高阶方法就留给大家自己摸索了,欢迎评论指正,谢谢观看


:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

 

光看介绍只会越看越蒙,只需要记得为什么要是用vuex,因为我们需要组件间传递数据,考虑到项目中会有很多组件需要使用其他组件的数据,只用props,自定义事件,provide和inject依赖注入,全局事件总线,消息订阅预发布等方式会显得很繁琐,传来传去一会把自己传蒙了,不知道谁接收谁传了,所以这时候使用vuex会更明智一点,接下来写个案例可能会让你更进一步的认知vuex

因为官网介绍说将在2023年底停止对vue2的更新和维护,所以这里以vue3为例:需使用4.0版本的vuex。

注意:使用vue脚手架选择手动配置的化,可在cmd窗口自己选择并自动安装创建文件夹,选择默认配置的话是没有vue-router和vuex的,需要自己安装指定版本,此案例是选择的默认项目,所以需要安装vuex

1.安装vuex npm i vuex

2.在src目录下创建store文件夹,文件夹内创建index.js

 文件结构如下:

 3.在main.js中导入使用

 4,首先做一个计数器,创建一个Count组件

 记得组件需要注册,在根组件中注册与使用

 5.开始写变更数据的方法与逻辑,因为现在只需要点击加一,没有异步操作,使用直接用mutations即可,尚不需要actions的参与

 6.减法功能和上面加法的一致

7.页面效果如下: 

 8.接下来做一步点击加或减按钮后等待三秒执行,因为这是一个异步操作,所以就需要用到actions

9.页面效果如下: 

10.vuex组件传参, 前面说到,vuex是为了让组件间传递数据更加方便,接下来就再创建两个组件,并在vuex中添加数据,为了凸显在组件间中传递数据的便利,所以把count组件和teacher组件形成兄弟关系(也就是同层级关系),把teacher组件和student组件形成父子关系(也就是嵌套关系)

 效果图如下

 11.接下来把vuex中的学生数据,展示到count组件中,

 把count数据展示到teacher中

 非常简单,现用现取,页面效果如下

 12.模块化,现在已经有三个组件了,都用到了vuex,这时vuex会显得臃肿,行数很多,不容易查看维护,这时候就用到了moudle配置项,我们把用到vuex的组件再在store文件夹中新建一个与之对应的js文件,并在index.js文件中导入使用

 13.在组件中调用就需要用$store.state.xxx.count

 14.前面已经介绍了state,mutations,actions,moudles配置项,还有一个getter,在这里说下,它能简化数据调用层级,在teacher.js中,teacher数据的层级很深,需要一直用.来调用,现在我们来改造下

 在组件中调用

 和没用getters之前对比:

观看阅读更加直观 。

15.现在整体案例已经完成,不知道大家现在是否对vuex有了更加直观的感受,操作vuex还有更加简便的方法,mapState,mapGetters,mapMutations和mapActions四个高阶方法,大家闲余时间可以去搜索使用一下,做一下练习锻炼,在这里我就不再赘述了,以上操作完全够用,高阶方法就留给大家自己摸索了,欢迎评论指正,谢谢观看

相关内容

热门资讯

MySQL查询昨天、今天、近3... Sql实战实例如 查询近30天内的某些数据 实战sql SELECT code,active_da...
“缺一不可”的意思 “缺一不可”的意思 成语拼音: [quē yī bù kě] ...
八斗之才成语解释 八斗之才成语解释  【成语释义】八斗:指量多;才:才华。旧时比喻人才学丰富;诗文多而华美。  【成语...
快人快语成语解释 快人快语成语解释  【成语】:快人快语  【拼音】:kuài rén kuài yǔ  【简拼】:k...
“落雁沉鱼”的意思 “落雁沉鱼”的意思 成语拼音: [luò yàn chén yú] ...
网格搜索多个监督学习模型上的超...        目录 💥1 概述 📚2 运行结果 🎉...
【Linux】 Linux用户... 文章目录Linux 权限的概念Linux 用户Linux 权限Linux 文件访问者Linux 权限...
心什么词语 心什么词语  词语,是词和短语的合称,包括词(含单词、合成词)和词组(又称短语),组成语句文章的最小...
不赞一词成语解释 不赞一词成语解释  不赞一词  一般  bù zàn yī cí  【成语释义】  一句话也不说。 ...
暗渡陈仓的故事 暗渡陈仓的故事  导读:暗渡陈仓比喻表面故作姿态,暗地里另有所图。下面是小编为大家搜索整理的成语故事...
“物归旧主”的意思 “物归旧主”的意思 成语拼音: [wù guī jiù zhǔ] ...
Linux Tips 01 内... 文章目录一、 内核网站和各个版本二、Linux中的硬件设备三、BIOS和UEFI启动检测程序四、Li...
【redis】redis的安装... 1.下载redis和redis manage 下载redis:https://pan....
windows11安装wsl2... 在wsl上运行 TVM demo 环境配置预备加速工具:vpn,清华镜像...
Vue+C#实现断点续传 文件... 前端实现文件分片:通过 FileReader 对象读取文件,分割成多个分...
“论辩风生”的意思 “论辩风生”的意思 成语拼音: [lùn biàn fēng shēng] ...
“传为美谈”的意思 “传为美谈”的意思 成语拼音: [chuán wéi měi tán] ...
“解甲倒戈”的意思 “解甲倒戈”的意思 成语拼音: [jiě jiǎ dǎo gē] ...
表示绿色的四字词语有哪些 表示绿色的四字词语有哪些  文字像精灵,只要你用好它,它就会产生让你意想不到的效果。所以无论我们说话...
Qt学习_11_构建内嵌子界面... 0 前言 对于较大的Qt项目而言,弹出的独立子界面 与 根据菜单在主窗口内切换的内嵌子...