网站首页 > 技术文章 正文
这节课主要跟大家一起学习vuex中getters和actions的使用
Getter和action在vuex里不经常使用,所以这节课也只是简单介绍一下。
首先介绍getter,有点类似于vue里的computed。它依赖于数据项的,如果数据项变化,老会触发getter,既而返回新数据。Getter里的方法需要传输state这个参数。
我们在store.js里做如下编写:
getters: {
gettersCount(state) {
return state.count * 2
}
}
PS:是getters,而不是getter噢?切记切记
我们在页面里的引用为:
{{ this.$store.getters.gettersCount }}
当我们点击按钮后,count会加1, 当count变化时,会触发getters,返回count*2的数据。
Action与mutation有些类似,但又与其有些不同:
1. action不会直接改变state里的数据,它是通过先触发mutation,由mutation来改变state里的数据。
2. 可以进行异步操作。
接下来我们看下如何应用action吧
首先我们需要在store.js里编写如下:
actions: {
actionsCount(context) {
context.commit('increment')
}
}
接下来我们在about页面里先注销掉按钮的触发的操作,再将this.$store.dispatch('actionsCount')放入触发事件中。
PS:我们需要注意的是,
1. actionsCount里的参数是context,context是与store 实例具有相同方法和属性的对象。
2. 我们在about页面是通过store.dispatch 方法触发action的
3. 虽然显示的结果同mutation一样,但是流程是完全不一样的。目前的流程是先触发action,再触发mutation,再通过mutation里的方法改count数据。
这两个属性在vuex里不是很常用,我们只做为简单了解一下即可,在面试时如果被问到,我们知道怎么回事就可以了。
就到这里了,休息休息一会儿吧:)
微号:duzhan99
- 上一篇: 实现vuex(实现人生价值的根本途径是)
- 下一篇: Vuex状态管理(vuex状态管理几种状态)
猜你喜欢
- 2024-09-29 Vue实战——vue+router+vuex导航守卫进行身份验证
- 2024-09-29 shopping开源项目用vue+vue-router+vuex实现电商网站基本功能
- 2024-09-29 Vuex状态管理(vuex状态管理几种状态)
- 2024-09-29 实现vuex(实现人生价值的根本途径是)
- 2024-09-29 Vuex 学习笔记(vuex视频教学)
- 2024-09-29 Vue 3学习:4. 集成vuex(vue集成js)
- 2024-09-29 Vue组件间通信(vue组件间通信的方法)
- 2024-09-29 vue-admin-template调用action获取用户资料
- 2024-09-29 vuex的实现以及数据流向(vuex单向数据流图)
- 2024-09-29 vue中如何使用vuex的简单案列(vuex怎样使用)
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 510℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 486℃MySQL service启动脚本浅析(r12笔记第59天)
- 466℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 464℃启用MySQL查询缓存(mysql8.0查询缓存)
- 444℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 423℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 419℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)