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

vuex视频教学(Vuex 学习)

时间2025-06-20 21:21:01分类IT科技浏览4868
导读:什么是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
30天提升新网站权重攻略(通过优化、建立链接和内容营销实现快速提高权重)