学一个工具首先要明确的是这个工具是干什么的。
1. vuex是什么:
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
相信很多人看了这句官方解释,肯定也是像我一样不是特别理解这句话的含义。让我们用通俗的语言解释一下vuex是什么。
想象一下当有多个对象依赖于同一个数据时,最自然的想法是什么,是不是将数据设置在所有对象都能访问到的作用域中,vuex便是这种思想。
它解决了多个视图依赖于同一状态以及来自不同视图的行为需要变更同一状态的问题,使我们不需要将精力放在组件之间数据的传递上,而只需关心数据是如何更新的。(ps:更多详细解释参考官方文档:https://vuex.vuejs.org/zh-cn/intro.html)。
2. vuex包含哪些东西
1.state
state是vuex存储数据的仓库,是store中唯一的数据源,类似vue组件中的data函数。
2.getters
getters好比vue中的计算属性,相当于对state中的数据进行了再次的处理,比如筛选数据,计算多个数据的操作。
3.mutaions
改变state中数据的唯一方式,并且是同步的。它类似vue中的函数的功能。
4.actions
用于提交mutation来改变状态,解决了mutation不能处理异步事件的问题。
5.modules
用于项目中各个模块的分离,每个模块各自拥有自己的state,mutation等,便于精确查找各个模块拥有的state,方便快速
的定位问题。