vuex的初始学习
安装
首先是先在vue 项目中下载vue
显示出来的是这样的
如果不放心可以去package.js中查看如果显示:
vuex:"^版本号"

实战
在正常的vue项目中是没有vuex所需的文件的。所以需要自己建立一个目录在src,在中建立一个名为store的目录,然后在建立一个index的js文件
然后实战操作一下:
在index文件需要将vue和vuex引用一下
然后利用const声明一个常量store,并且导出常量store
然后我们在main.js文件中引入该文件,在文件里面添加 import store from ‘./store’;,再在vue实例全局引入store对象
到这一步引用基本没有问题了,然后在其中的某一个项目中使用console.log(this.$store.state.count)进行查看是否能导出

可以看出来是成功了

导出数据成功后下一步进行数据变化
getters方法
利用getters方法来命名方法,getters类似于vue的computed计算属性

在项目那一页来利用过滤器输出

页面中进行查看

Mutations方法
数据我们在页面是获取到了,但是如果我们需要修改count值怎么办?如果需要修改store中的值唯一的方法就是提交mutation来修改,我们现在sideber.vue文件中添加两个按钮,一个加1,一个减1;这里我们点击按钮调用addFun(执行加的方法)和reductionFun(执行减法的方法),然后在里面直接提交mutations中的方法修改值:

然后修改index.js文件

页面上点击+、- 按钮操作数据:
点击加按钮

点击减按钮

加减事件成功
Actions方法
我们看到,当点击三次后值从2变成了-1;页面上的值是改变了;我们达到了修改store中状态值的目的,但是,官方并不介意我们这样直接去修改store里面的值,而是让我们去提交一个actions,在actions中提交mutation再去修改状态值,接下来我们修改index.js文件,先定义actions提交mutation的函数:

然后我们去修改sideber.vue文件:

这里我们把commit提交mutations修改为使用dispatch来提交actions;我们点击页面,效果是一样的。


到了这一步的时候vue的改状态值的完整流程已经写完,如果需要指定加减的数值,就需要用到dispatch的第二个值了然后在actions对应的函数中接收参数传递给mutations中的函数中进行计算:
在这一步设置n=7进行传递参数

然后在index,js中接收到并进行计算

最后查看页面-号:

点击+号:

mapState、mapGetters、mapActions
如果我们不喜欢这种在页面上使用“this.stroe.state.count”和“this.stroe.state.count”和“this.stroe.state.count”和“this.store.dispatch(‘funName’)”这种很长的写法,那么我们可以使用mapState、mapGetters、mapActions就不会这么麻烦了;
可以修改sideber文件中的

此时在页面中使用counts调用:

可以看到是正常显示的
本文围绕Vuex的初始学习展开,介绍了在Vue项目中安装Vuex的方法,通过实战演示了如何建立相关文件并引用。还详细讲解了利用getters、Mutations、Actions方法进行数据获取、修改的操作,以及使用mapState、mapGetters、mapActions简化代码的方式。
167

被折叠的 条评论
为什么被折叠?



