首页IT科技vuex视频教学(Vuex 学习)

vuex视频教学(Vuex 学习)

时间2025-07-30 03:55:53分类IT科技浏览5108
导读:什么是vuex: 专门在Vue中实现集中式状态(数据)管理的一个Vue插件...

什么是vuex:

专门在Vue中实现集中式状态(数据)管理的一个Vue插件

                ,对vue应用中多个组件的共享状态进行集中式的管理(读/写)                      ,也是一种组件间通信的方式        ,且适用于任意组件间通信              。

  原理图 安装使用vuex

注意:vue2.0 对应  vuex3.0            ,vue3.0 对应vuex4.0                      ,如果版本选中错误就会报错

npm i vuex            ,如果用的是vue2.0 需要指定版本        , npm i vuex@3  ,如果不指定版本                      ,默认下载vuex4

vuex 的actions                、mutations                      、state并不是自己管理的               ,而是交给store管理的    ,当引入并

使用了vuex后                       ,vm的对象上就会多了一个store属性                        。这个store 是一个js文件                  ,并不是官方

提供的,而是自己创建的                    ,store的代码如下:/store/index.js

注意引入和使用 vuex的操作是在  store/index.js中完成的                      ,是因为vuex的使用必须在 生成store实例之前    ,在此处引入并使用vuex后                ,在main.js中引入store即可                      ,然后创建的时候        ,传入store配置项

这样            ,vuex的开发环境就搭建好了

  vuex的执行顺序是                      ,this.$store.dispatch()触发 actions中的方法            ,acitons中的方法触发mutations中的方法        ,mutations中的方法操作state中的数据        。

例如                      ,如下代码

通过this.$store.dispatch(add,this.n) 触发 actions中的 add方法               ,dispatch的第一个参数为actions中的方法名    ,第二个参数为实际传的值                       ,add方法的第一个参数是

context                  ,第二个参数是实际传过来的值          。 context 通过调用 commit 方法,触发mutations中的ADD方法                    ,其中                      ,commit方法中    ,第一个参数为  mutations中的方法名ADD,第二个参数为传递的值                ,ADD 也有两个参数                      ,第一个参数为state        ,可以直接操作state中的数据            ,第二个参数为传过来的值                        。

也可以通过commit方法直接调用 mutations中的方法

页面展示state中的数据:

getters 配置项:

是vuex新增的配置项                      ,首先定义getters对象            ,然后在store中进行配置

里面有一个方法        ,是自定义的                      ,参数就是 state               ,方法需要返回值

组件中显示getters中的返回值:

4个map方法的使用:

4个map方法分别是    ,mapState        、mapGetters            、mapActions和mapMutations

为什么要使用这几个方法                       ,是为了简化代码的写法                  ,目前从state和getters中取数据都是通过

{{$store.state.sum}} 和{{$store.state.bigSum}}这种方式,模板中尽量使用简单的表达式                    ,所

以可以改为在计算属性中返回值

模板中直接调用计算属性的方法名取值即可                      ,

如果state中的属性较多    ,就需要一个一个的写计算方法                ,所以可以通过vuex的map方法帮我们去映射store中的属性和方法

首先需要引入

import {mapState,mapGetters} from vuex

对象写法中的每一个对象的第一个参数对应计算属性中的方法名                      ,可以不加引号        ,在模板调用时使用            ,第二个参数对应state中的属性                      ,必须加 引号             ,数组写法        ,每个元素对应state中的属性                      ,必须加 引号               ,模板解析时    ,直接 {{sum}}  和{{school}} 即可            。前面的 三个点必须加                       ,这是因为mapState返回的是一个对象                  ,对象里面的本质是一个个函数,所以需要将mapState进行拆包                    ,否则会报错      。

mapGetters同理                      ,对应的是getters中的函数

mapActions和mapMutations 用于帮我们生成和  actions和mutations对话的方法    ,

要使用的话                ,首先先引入

import {mapActions,mapMutations} from vuex

这里只介绍mapMutations的写法                      ,mapActions同理                       。如下图的三种写法        ,效果是一样的

亲自的写法            ,在调用的时候                      ,是不需要传参的            ,直接调用方法名即可        ,参数在commit的时候再传入                      ,如下图所示

mapActions与mapMutations使用时               ,若需要传递参数需要:在模板中绑定事件时传递好参数    ,否则参数是事件对象                。 

ADD对应  mutations中的方法

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
怎样提高网站(提升网站排名的必备利器——SEO网站优化技巧) 联邦学习是什么?联邦学习简介