5 Vuex
5.1 vuex概述
- vuex是实现数据集中式状态管理的插件。数据由vuex统一管理。其它组件都去使用vuex中的数据。只要有其中一个组件去修改了这个共享的数据,其它组件会同步更新。一定要注意:全局事件总线和vuex插件的区别:
- 全局事件总线关注点:组件和组件之间数据如何传递,一个绑定 o n ,一个触发 on,一个触发 on,一个触发emit。数据实际上还是在局部的组件当中,并没有真正的让数据共享。只是数据传来传去。
- vuex插件的关注点:共享数据本身就在vuex上。其中任何一个组件去操作这个数据,其它组件都会同步更新。是真正意义的数据共享。
- 使用vuex的场景是:
- 多个组件之间依赖于同一状态。来自不同组件的行为需要变更同一状态。
5.2 vuex环境搭建
- 安装vuex
- vue2安装vuex3版本
- npm i vuex@3
- vue3安装vuex4版本
- npm i vuex@4
- vue2安装vuex3版本
- 创建目录和js文件(目录和文件名不是必须叫这个)
- 目录:vuex
- js文件:store.js
- 在store.js文件中创建核心store对象,并暴露
- 在main.js文件中关联store,这一步很重要,完成这一步之后,所有的vm和vc对象上会多一个$store属性