我们为什么要有Vuex,Vuex的作用又是什么?
Vuex的作用是解决多组件状态共享的问题,在大型的项目中,组件通讯会变得很混乱,使用Vuex可以统一管理组件之间的通讯,它是独立于组件单独存在的,所有的组件都可以把它当作一座桥梁来进行通讯。
使用Vuex的好处是什么?
响应式
: 只要vuex中的数据变化,对应的组件会自动更新(类似于vue数据驱动)- 操作更简洁 : 类似于sessionStorage,只有几个方法
Vuex的使用场景
不是所有的地方都可以用到Vuex,只有在必要的时候才会用到Vuex,如果不是特别必要尽量别用使用了Vuex之后项目开发会提升一些难度,也会增加项目的复杂度
适合使用Vuex的场景
这个数据需要在很多地方用到,比如(头像,字体,姓名,个人页面,评论页面等),如果采用组件传值的方式写起来会很麻烦,而且多个地方都要写
不适合使用Vuex的场景
这个数据不需要多个地方使用,如果仅仅只是在两个组件之间通讯,优先使用props和$emit
那么接下来就是Vuex中的5个属性介绍
1.state作用:存储数据
state提供唯一的公共数据源,所有共享的数据都要统一放到Store中的state中存储
2.getters作用:state的计算属性
3.mutations作用:更新state中的数据
4.actions作用:
actions与mutations相同点 :
- 都是修改state数据
actions于mutations不同点:
- mutations:同步更新
- actions: 异步更新(例如你的数据来源于ajax)
5.modules作用:一般我们遇到大型项目时,数据量很大我们就会用到modules,将Store分割成模块,每个模块里面都拥有自己的state、mutations、acs、getters,然后在分割的模块进行我们的代码编译
Vuex的触发流程