1.Vuex是啥?
官方解释:Vuex是一个专门为Vue.js量身打造的应用程序开发的状态管理模式,我们可以将这里的状态理解为变量,即变量管理模式,这样我们对于Vuex就好理解多了,顾名思义,所谓的Vuex就是关于对变量的管理,因为变量是可以存储我们当前的数据状态。
- Vuex采用了集中式存储管理应用的所以组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
- 同时,Vuex也集成到Vue官方调试拓展工具 devtools-extension 提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
2.什么是状态管理模式以及集中式存储管理?
- 我们可以简单地理解为,把需要多个组件共享的变量全部存储在一个对象里面,然后将这个对象放在顶层的Vue实例中,供其他组件共享使用。
- 再简单点理解就是,多个组件共享一个变量的意思。
-
图解:
- 如果这样共享变量的话,是有点繁琐和不切实际,因为要处理组件间的层级关系,一个变量传给你,再传给他,这时候我们就需要一个大管家(集中式存储管理)来帮助我们管理我们的共享变量了。
-
知道这样一个公共对象共享变量的原理,我们其实可以试着尝试自己用伪代码封装一个对象来进行管理。
-
但这种管理模式存在一个致命的缺陷,这种对象、数据、属性都不是响应式的。
- 所以我们自己封装的对象管理是不太靠谱的,这时候,我们就需要用到一些插件了,Vuex就是为了提供这样一个响应式,能够在多个组件间共享状态的便利插件。
3.Vuex用于管理什么状态呢?有什么样的需求或者说在什么状态下需要我们在多个组件间共享呢?
- 多个界面之间的共享会用到Vuex。
- 比如app中的用户的登录状态(会向服务器发送请求,携带token令牌,token是令牌验证,接口认证)、用户名称、头像、地理位置信息等待。
- 比如电商网站中的收藏、购物车中的物品等待。
网友评论