谈谈对vuex的理解
首先我们要知道:
1、vuex是什么?
vuex是一个专为vue.js应用程序开发的状态管理模式(它采用集中式存贮管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化)。
2、vuex五大核心属性?
- state:存储数据,存储状态;在根实例中注册了store 后,在组件中是用
this.$store.state.变量名
来访问存放在vuex里面德数据;对应vue里面的data;存放数据方式为响应式,vue组件从store中读取数据,如数据发生变化,组件也会对应的更新。 - getter:可以认为是 store 的计算属性,它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。(在组件中使用:this.$store.getters.变量名)
- mutation:更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。在组件中使用:this.$store.commit()
- action:包含任意异步操作,通过提交 mutation 间接更变状态。在组件中使用:this.$store.dispatch()
- module:将 store 分割成模块,每个模块都具有state、mutation、action、getter、甚至是嵌套子模块。
对于vuex的数据传递流程,如下图所示: