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