vuex是一个专门为vue.js应用程序开发的状态管理模式。
简单来说,可以把vuex看成把需要多个组件共享的变量全部储存在一个对象里面,然后,将这个对象放在顶层的Vue实例中,让其他组件可以使用。(响应式真好!)
这些状态信息,我们可以统一放在一个地方,对它进行保存和管理,而且他们还是响应式的。
在src文件夹下新创建一个名为store的文件夹**(vuecli4会自动生成)**,在里面新创建一个名为index.js的文件,index.js的内容如下:
别忘了还要在main.js里面去挂载(导入)这个store
import Vue from 'vue' import APP from './App' import store from './store' //在这里 Vue.config.productionTip = false Vue.prototype.$store = store //这样就可以在全局使用啦 new Vue({ el:'#app', store, //记得在这里挂载哦 render:h =>h(App) })如果想要在hhhh.vue这个组件里使用Vuex里store里的counter,可以这样使用:
<h3> {{$store.state.counter}} </h3> //这样就使用成功啦!!!也就是说对于某些状态(1、2、3)来说只属于我们某一个试图,但是也有些状态(a,b)属于多个试图共同想要维护的。vuex就是为我们提供这个做法的工具