每一个Vuex应用的核心都是store(仓库)。商店基本上是一个容器,其中包含应用程序中的大部分状态。Vuex和纯全局对象有两个区别:Vuex的状态存储是响应式的。当Vue组件从store中读取状态时,如果store中的状态发生变化,相应的组件将相应地高效更新。商店中的状态不能直接更改。更改存储中状态的唯一方法是显式提交更改。这使我们能够轻松跟踪每个状态变化,使我们能够实施一些工具来帮助我们更好地理解我们的应用程序。如何创建Store安装好Vuex后,我们就可以创建Store了,如下图:conststore=newVuex.Store({...});从上面的代码我们可以知道,store是一个新的Vuex.Store构造函数实例。构造函数中可以传入一个对象参数,其中可以包含5个对象:state、getters、mutations、actions、mudules,其中最基本的就是state和mutations。示例:我们可以在项目的src目录下新建一个store.js文件,在文件中引用vue和vuex:importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)//安装Vuexglobalconststore=newVuex.Store({state:{count:0},mutations:{increment(state){state.count++}}})exportdefaultstore//暴露vuex实例,这样任何其他文件都可以共享一个完整的数据存储结构conststore=newVuex.Store({state:{//存储状态},getters:{//state的计算属性},mutations:{//state中改变状态的逻辑,同步操作},actions:{//提交mutation,异步操作},//如果把store分成modules,就需要使用modules//然后在每个module中写state,getters,mutations,actions等modules:{a:moduleA,b:moduleB,//...}});
