vuex是一个专为 Vue.js 应用程序开发的状态管理模式, 采用集中式存储管理应用的所有组件的状态,解决多组件数据通信。(简单来说就是管理数据的,相当于一个仓库,里面存放着各种需要共享的数据,所有组件都可以拿到里面的数据)
它的五个属性
1.state 统一定义管理公共数据
2.mutations: 使用它来修改数据
3.getters: 类似于vue中的计算属性
4.actions: 类似于methods,可以用于发起异步请求,比如axios
5.modules: 模块拆分
需要注意的是:
在组件中修改state要使用mutations
通过this.$store.commit('mutation事件名',mapper参数)可以修改state里面的数据
注意点
要修改vuex中的数据,就要使用mutations去修改
actions与mutations的区别
是actions可以进行异步操着
actions 可以进行异步操作,可用于向后台提交数据或者接受后台的数据;mutations 中是同步操作,用于将数据信息写在全局数据状态中缓存。
modules模块区分
vuex中只能由一个store对象,但是随着应用变得非常复杂时,index.js中会变得非常臃肿,为了解决这个问题,vuex有了模块这个功能,允许我们把store划分成多个模块,每个模块都有自己的state,mutations,acitons,getters,