Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
快速开始
以下是一个简单的 Vuex 应用程序结构:
// store.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++;
}
},
actions: {
increment(context) {
context.commit('increment');
}
}
});
// main.js
import Vue from 'vue';
import App from './App.vue';
import store from './store';
new Vue({
store,
render: h => h(App)
}).$mount('#app');
状态管理
Vuex 提供了一种集中式存储管理所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Mutations
Mutation 是一种提交更改的方式,它是同步的。
mutations: {
increment(state) {
state.count++;
}
}
Actions
Action 提交的是 mutation,而不是直接变更状态,可以包含任意异步操作。
actions: {
increment(context) {
context.commit('increment');
}
}
Getters
Getters 可以认为是 store 的计算属性。
getters: {
doubleCount(state) {
return state.count * 2;
}
}
扩展阅读
想要了解更多关于 Vuex 的信息,可以访问我们的 Vuex 教程。