Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
安装 Vuex
首先,你需要安装 Vuex。可以通过 npm 或 yarn 来安装:
npm install vuex --save
# 或者
yarn add vuex
基本概念
State
Vuex 使用单一状态树。几乎所有的 Vue 组件都可以通过 this.$store.state 访问这个状态树。
const store = new Vuex.Store({
state: {
count: 0
}
});
Getter
Getter 可以认为是 store 的计算属性。就像计算属性一样,getter 也有缓存功能。
const store = new Vuex.Store({
state: {
todos: [
{ id: 1, text: 'Learn Vue' },
{ id: 2, text: 'Learn Vuex' }
]
},
getters: {
doneTodos: state => {
return state.todos.filter(todo => todo.done);
}
}
});
Mutation
Mutation 必须是同步的。
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++;
}
}
});
Action
Action 提交的是 mutation,而不是直接变更状态。
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++;
}
},
actions: {
increment(context) {
context.commit('increment');
}
}
});
深入阅读
更多 Vuex 的使用方法和高级特性,请参考我们的 Vuex 官方文档。
Vue.js Logo