vue学习笔记05-vuex入门
Vuex入门
Vuex概述
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享
使用Vuex管理数据的好处:
- 能够在vuex中集中管理共享的数据,便于开发和后期进行维护
- 能够高效的实现组件之间的数据共享,提高开发效率
- 存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新
Vuex中的核心特性
state
State提供唯一的公共数据源,所有共享的数据都要统一放到Store中的State中存储
在组件中访问State的方式:
1 | # 方式一 |
1 | # 方式二 |
Mutation
Mutation用于修改变更$store中的数据(注意不要直接在组件中操作store中的数据,而是通过Mutation操作数据)
打开store.js文件,在mutations中添加代码如下
1 | mutations: { |
Mutation的使用方式一:
1 | <button @click="Add">+1</button> |
Mutation的使用方式二:
1 | import { mapState,mapMutations } from 'vuex' |
Action
在mutations中不能编写异步的代码,会导致vue调试器的显示出错。
在vuex中我们可以使用Action来执行异步操作。
打开store.js文件,修改Action,如下:
1 | actions: { |
Action的使用方式一:
1 | <button @click="AddAsync">...+1</button> |
Action的使用方式二:
1 | import { mapState,mapMutations,mapActions } from 'vuex' |
Getter
Getter用于对Store中的数据进行加工处理形成新的数据
它只会包装Store中保存的数据,并不会修改Store中保存的数据,当Store中的数据发生变化时,Getter生成的内容也会随之变化
打开store.js文件,添加getters,如下:
1 | export default new Vuex.Store({ |
Getter的使用方式一:
1 | {{$store.getters.showNum}} |
Getter的使用方式二:
1 | import { mapGetters } from 'vuex' |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的技术小站!
评论