1、为什么要使用vuex?
Vuex是一个状态管理模式,状态机,将组件共享的数据放到状态机中统一管理,组件想拿数据可以从自己的数据模型中拿,也可以从仓库中拿,把vuex理解成一个仓库
2、vuex包含了什么属性?分别有什么作用?
state:用来存储公共管理的数据
getters:类似于计算属性,有缓存值当依赖值发生改变时,才会重新计算
mutations :突变,定义改变state中数据的方法,但不可以发起异步请求
actions:动作,类似于mutations,不同的时Action提交的是mutation,而不是直接变更状态。Action可以包含任意异步操作。
module:模块,将store分割成模块。每个模块拥有自己的state、mutations、actions、getters、甚至是嵌套子模块
工作原理:通过'$store.commit`调用mutations、 通过'$store.dispatch'调用actions、直接通过$store.getters调用getters,也可以通过辅助函数mapState、mapMutations、mapAction、mapGetters一次性获取每个属性下对应的多个方法