vuex是一个专门为了vue.js应用程序开发出来的状态管理器,可以做到全局的状态管理,也可以把他理解成一个仓库可以存入各种你所需要的变量以及属性,进行统一集中式的一种管理方式。
vuex中,有默认的五种基本的对象
- state:存储状态(变量)
- getters:对数据获取之前的再次编译,可以理解为state的计算属性。我们在组件中使用 $sotre.getters.fun()
- mutations:修改状态,并且是同步的。在组件中使用$store.commit('',params)。这个和我们组件中的自定义事件类似。
- actions:异步操作。在组件中使用是$store.dispath('')
- modules:store的子模块,为了开发大型项目,方便状态管理而使用的。这里我们就不解释了,用起来和上面的一样。 下面我们正式开始,一步步使用vuex
创建一个vue项目
我们新建一个vue项目,在命令行输入 vue init webpack web(使用webpack创建一个项目名为web的项目); 项目创建后,然后安装vuex,使用命令:npm install vuex --save(安装vuex保存到本地)
然后我们执行npm run dev 启动项目,在浏览器输入:"localhost:8080";正常的话然后我们会看到项目的启动页,
看到这个界面说明项目启动成功,然后我们在项目的src目录下新建一个目录store,在该目录下新建一个index.js文件,我们用来创建vuex实例,然后在该文件中引入vue和vuex,创建Vuex.Store实例保存到变量store中,最后使用export default导出store:
然后我们在main.js文件中引入该文件,在文件里面添加 import store from ‘./store’;,再在vue实例全局引入store对象;
然后我们就可以开始编写我们的vuex业务代码了,那么,我们的数据如何保存?这就需要应用到我们最开始时说的state。
State:
vuex中的数据源,我们需要保存的数据就保存在这里,可以在页面通过 this.$store.state来获取我们定义的数据;
这时候我们页面上就得到了这个count值1:
至此关于vuex最基本的存取就已经完成了。