Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension (opens new window),提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。
安装:
npm/cnpm install vuex --save
在store文件夹下的配置:
index.js
import Vue from 'vue'
import { Store, install } from 'vuex'
import demo from './demo'
if(!window.Vuex){
install(Vue);
}
export default new Vuex({
modules:{
demo
}
})
demo.js
export default {
namespaced:true,
state:{
data1:false,
data2:0
},
mutations:{
setData1(state,payload){
state.data1=payload;
}
setData2(state,payload){
state.data3++;
}
},
actions(){
test(ctx){
ctx.commit("setData1",true);
ctx.commit("setData2")
}
}
}
app.vue:
import { mapState } from 'vuex';
created(){
tihs.$store.dispacth("demo/test");
},
computed:{
...mapState("demo",["data1","data2"]),
}