Vuex的概念是什么:Vuex是一种专门为Vue.js应用开发的状态管理模型。它使用集中存储来管理应用程序所有组件的状态,并使用相应的规则来确保状态以可预测的方式变化。适用于任意组件之间的通信。PS:集中式(可以理解为学生都在教室里,老师教),分布式(可以理解为老师会变72次,变成N个人,到学生家教每个学生)何时使用Vuex如果您不打算开发大型单页应用程序,使用Vuex可能会很乏味和多余。那么我们在开发大型单页组件的时候,一定要用到Vuex吗?当多个组件依赖约定的状态时,当来自不同组件的行为需要改变同一个状态时,Vuex图来自官方的Vuexstore。state:mutationsthatstorepublicdata:操作公共数据的action:触发mutations(这一步有时不需要,可以直接调用mutations中的方法)getters:根据state中的数据进行处理(可以理解为计算propertyofstore)mapseriesinVuex//这两个是当我们在这个页面使用多个store的数据时,可以使用import{mapState,mapGetters,mapMutations,mapActions}from'vuex'methods:{increase(){//this.$store.dispatch('increase',this.val)//如果没有复杂的逻辑,比如调用接口,我们可以不dispatch直接调用committhis.$store.commit('INCREASE',this.val)},//这个可以直接使用,不需要上面的方法调用是自己写的,是一个commit,直接调用,不需要actions。还有写方法数组,名字保持统一...mapMutations({increase1:'INCREASE'}),//这个直接用就可以了,不需要像上面那样自己写方法调用,callactions,还有一个写法数组,名字保持统一...mapActions({increase2:'increase'})},computed:{//这是写法的对象//...mapState({sum:'sum',userId:'userId',userName:'userName'}),//...mapGetters({bigSum:'bigSum'})//这是一个数组,这种方式writing,name和store必须相同...mapState(['sum','userId','userName']),...mapGetters(['bigSum'])}demo//store/index.js//importVueximportVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)//创建状态——用于存储数据conststate={sum:0,userId:12345678,userName:'Sedum'}//创建突变——用于操作数据(状态)constmutations={INCREASE(state,value){state.sum+=value},DECREASE(state,value){state.sum-=value}}//创建动作--用于响应组件中的动作//如果调用store.dispatch修改store中的value,就会触发this,然后触发mutations中的方法constactions={//接收两个参数//第一个参数可以理解为一个小store,可以获取和使用store上的东西,第二个参数就是你传入的值increase(context,value){//INCREASE大写与否无所谓,但有些人喜欢区分context.commit('INCREASE',value)},decrease(context,value){//ca是否无所谓pitalizationofINCREASE是不是大写,但是有些人喜欢区分context.commit('DECREASE',value)}}//根据state中的数据进行处理constgetters={bigSum(state){returnstate.sum*10}}//exportusingexportdefaultnewVuex.Store({state,actions,mutations,getters})两个组件演示Vuex//Component1
