Vuex是什么,每个属性是干嘛的,如何使用 ?
Vuex 是集中管理项目公共数据的仓库。Vuex 大幅减少了组件通信的繁杂度,拥有 state 数据存储,mutations 处理同步事件,modules 模块的注册,actions 处理异步事件,getters 过滤数据 属性。
属性 | 属性作用 |
state | 用来存储公共管理的数据 |
mutations | 定义改变 state 中数据的方法, 注意:不要在 mutation 中的方法中写异步方法 ajax ,那样数据就不可跟踪了 |
getters | 可以认为是定义 store 的计算属性。就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算 |
action | 类似于 mutation,不同在于:Action 提交的是 mutations,而不是直接变更状态。Action 可以包含任意异步操作 |
moudle |
是将 store 分割成模块。每个模块拥有自己的 state、mutations、action、getters、甚至是嵌套子模块,从上至下进行同样方式的分割 使用方法: state :直接以对象方式添加属性 mutations :通过`store.commit`调用 action:通过 `store.dispatch` 方法触发 getters:直接通过store.getters.调用 |
注:可以使用 mapState、mapMutations、mapAction、mapGetters 一次性获取每个属性下对应的多个方法。 VueX在大型项目中比较常用,非关系组件传递数据比较方便。