简单来说,vuex就是一个为vue程序开发的公共状态管理模式,可以集中式存储应用的所有组件状态,并以相应的规则保证状态以一种可预测的方式发生变化,
通常情况下当我们遇到多个组件共享状态的时候,单项数据流的简洁性很容易被破坏,导致代码无法维护
于是,我们将组件的共享状态抽取出来,以一个全局单例的模式管理,这个模式我们就叫做vuex
vuex和单纯的全局对象的区别如下:
- Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
- 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,devtools可以看到每一次的状态改变。
在使用vuex之前,我们首先要调用 Vue.use(Vuex),这样子组件就可以通过this.$store方法问vuex
const Counter = { template: <div>{{ count }}</div>
, computed: { count () { return this.$store.state.count } } }
当我们用vuex管理公共状态的时候,分为同步异步两种情况
待更