1.Vuex是什么?
Vuex是专门为Vue.js应用程序设计的状态管理工具,它采用集中式存储管理应用的所有组件状态,并以相应的规则保证状态以一种可预测的方式发生变化。
具体工作: vuex是一种状态管理机制,将全局组件的共享状态抽取出来为一个store,以一个单例模式存在,应用任何一个组件中都可以使用,vuex更改state的唯一途径是通过mutation, mutation需要commit触发,action实际触发是mutation, 其中mutation处理同步任务, action处理异步任务。
2.Vuex每个属性是干嘛的?
- State: state是存储的单一状态,是存储的基本数据
- Getters:getters是store的计算属性, 对state的加工, 是派生出来的数据。就像computed的计算属性一样, getters的返回的值会根据它的依赖被缓存起来,且只有当它的依赖值发生改变时才会被重新计算。
- Mutations: mutations提交更改的的数据, 从而更改state状态
- Actions:actions就像一个装饰器,提交mutation, 而不是直接变更状态。(actions可以包含任何异步操作,如从封装的api中调用数据)
- Module:Module是store分割的模块,每个模块拥有自己的state,getters,mutations 和 actions。
- 辅助函数: Vuex提供了mapState, mapGetters, mapActions, mapMutations等辅助函数给开发在vm中处理数据