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