最近一直在学vue.js,接触到项目联系的时候,自然而然的引出了vuex。vuex是什么?
借助互联网,搜索出vuex是vue的状态管理机制。主要服务于中大型的单页应用,数据管理框架,并且借鉴了flux和redux的设计思想,简化了概念。让我们的应用内的状态保持在可维护可理解的状态。具体怎么维护,看项目说话。
vuex内部使用了很多ES6的语法。
应用的核心就是store仓库,store可以看成一个容器,它包含着你应用里大部分的状态(即state)。Vuex和单纯的全局对象有一下两点不同:
1、Vuex的状态存储是响应式的。当Vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会相应地高效得到更新。
2、你不能直接改变store中的状态。改变store中的状态的唯一途径就是显式地分发状态变更事件(explicitly dispatching mutations)。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
state状态:类似是vue中的data,用户存储数据;
getters:类似vue中的computed,计算属性;
mutations变更:类似于Vue中的methods,逻辑方法。但是这里的方法必须是同步的,因为这里的方法将直接修改state的状态,从而改变store的状态。另外vue-devtools这个工具根据这个来记录改变的状态
actions动作:实际分发mutations里面的方法。
vuex的流程: