基本原理
Vuex是vue.js的专门的状态管理模式,每一个vuex程序核心是store(仓库),store中包含了vue应用中的大部分状态(state)
vuex的存储状态是响应式的;
改变store的唯一途径是显示提交(commit) mutation
核心流程中的主要功能:
- Vue Components 是 vue 组件,组件会触发(dispatch)一些事件或动作,也就是图中的 Actions;
- 在组件中发出的动作,肯定是想获取或者改变数据的,但是在 vuex 中,数据是集中管理的,不能直接去更改数据,所以会把这个动作提交(Commit)到 Mutations 中;
- 然后 Mutations 就去改变(Mutate)State 中的数据;
- 当 State 中的数据被改变之后,就会重新渲染(Render)到 Vue Components 中去,组件展示更新后的数据,完成一个流程。
总结
vuex实现了一个单项数据流,全局拥有一个state存放数据,组件想要更改state中的数据,有且只能通过mutation去进行更改,最后将state的变化渲染到视图上。