vuex是vue的一个核心的功能,官方关于vuex的介绍也占了大半边幅,vuex的话不管是在pc端、移动端还是我们小程序端都有广泛的使用
vuex是一个状态管理器,我们可以理解设计者这样的一个思路,像以前的安卓、ios,或者后台的一些java程序,他们都有一个全局的概念,就是我们把公共的东西放在全局里面来,那所有的页面都可以对这个东西存和取,那就会非常的方便。那vuex确实也是这样,他是一个状态管理模式,可以实现数据共享的这个目的。
vuex包含五个属性,分别是state,getters,mutation,action和modules
- state:vuex的基本数据,用来存储变量(后四个属性都是用来操作state里面储存的变量的)
- getters:是对state里面的变量进行过滤
- mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)
- action:和mutation的功能大致相同,不同之处在于:
- Action提交的是mutation,而不是直接变更状态。 也就是action是用来修改mutation并提交的 而 mutation是通过修改state
- Action可以包含任意异步操作。(一般比较复杂的数据都在action中操作)
- action先会执行异步操作再去调用mutation,随后才跟新state
- modules:项目特别复杂的时候,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。
简单的可以理解为state定义了数据,g