Vuex是一个专为Vue.js因公用程序开发的状态管理模式
概念:vuex是vue配套的公共数据管理工具,他可以把一些共享的数据保存道vuex中,方便整个程序中的任何组件直接获取或修改我们的公共数据;
简单说:vuex就是共享数据的空间,想要这个数据的组件可以从里面渠道对应的值;而没有必要通过 父子组件 之间传值了
使用 import Vuex from "Vuex";
Vue.use(Vuex);
const store = new Vuex.Store({
state:{//state用于存放属性
count:0
},
mutations:{//mutations用于存放处理属性的方法的,供commit调用
increment(state,a){
state.count += a;
}
},
//注意:调用 mutations 的函数参数列表中,仅支持两个参数,第一个为 state 第二个为 commit提交过来的参数
getters:{
//getters只负责对外提供数据 只要state发生改变 getters有引用的话,也会对应的触发
optCount:function(state){
return "当前最新的count的值是:"+ state.count
}
}
});
//将vuex的数据仓储挂载到vue对象上面
const vm = new Vue({
el:"#app",
data:{},
store:store//将vuex的数据仓储挂载到vue对象上面 ,只要挂在上去,全局都可以获取
})
//触发里面的函数
this.$store.commit("increment",4)
//获取存储在vuex中的数据 如果在组件中,想要获取其中的值
this.$store.state.count//(想要的值名)
//调用getters
this.$store.getters.optCount