VueX 学习笔记

VUEX
1、VueX是做什么的
官方解释:Vuex是一个专为Vue.js 应用程序开发的状态管理模式。
它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Vuex也集成到vue 的官方调试工具devtools extension,提供了诸如零配置的 time-travel调试、状态快照导入导出等高级调试
功能。
1.1、状态管理到底是什么?
状态管理模式、集中式存储管理这些名词听起来就非常高大上,让人捉摸不透。
其实,你可以简单的将其看成把需要多个组件共享的变量全部存储在一个对象里面。
然后,将这个对象放在顶层的Vue实例中,让其他组件可以使用。
那么,多个组件是不是就可以共享这个对象中的所有变量属性了呢?
1.2、有什么状态时需要我们在多个组件间共享
多个状态,在多个界面间的共享问题。
比如用户的登录状态、用户名称、头像、地理位置信息等等。
比如商品的收藏、购物车中的物品等等。
这些状态信息,我们都可以放在统一的地方,对它进行保存和管理,而且它们还是响应式的
2、安装vuex
3、使用Vuex
3.1、配置vuex
3.2、在main中引入
3.3 、在组件中使用
3.4、getters
3.5、mutation
3.5.1、payload
3.5.2、响应式修改数据
3.5.3、自定义mutation常量
Vue官方推荐写法,非强制要求的格式
组件和vuex中均需引入并使用常量
3.5.4 、mutations中不推荐使用异步操作(ajax,定时器等
因为进行异步操作devtools无法进行监听
如果需要异步操作,则使用action执行mutation中的事件
(因为禁止绕过mutation修改state
3.6、actions
3.6.1、执行完异步操作需要放回参数/执行回调
使用promise对异步操作进行封装
3.7、modules
3.8、store文件夹推荐目录结构
4、Devtools
vuex监听mutations修改的插件
5、单一状态数
英文名称是Single Source of Truth,也可以翻译成单一数据源。