导航:首页 > 使用方法 > vuex常用方法以及使用场景

vuex常用方法以及使用场景

发布时间:2025-03-11 14:15:23

① vuex:弄懂mapState、mapGetters、mapMutations、mapActions

在引入vuex后,我们需要在state中定义变量,类似于vue中的data,通过state来存放状态。注册两个组件分别引入到app.vue中。

在vue组件中,vhome组件和vabout组件内容显示了相应的功能。有了vuex,我们不必在考虑组件之间的传值,直接就可以通过$store来获取不同的数据,但是当需要vuex中的多个数据时,这种方法就显得有些啰嗦。这时,我们可以将多个数据定义在computed中,这样引入的时候就方便了很多。

为了进一步简化代码,引入了mapState辅助函数。使用mapState方法,可以将多个数据的引入代码简化为一句,相当于下面这些代码。记住:用mapState等这种辅助函数的时候,前面的方法名和获取的属性名是一致的。

如果需要自定义计算属性,可以使用es6中的展开运算符。比如,如果我们需要计算一些自定义属性,可以使用这样的方式来引入。

在处理数据时,可以使用getters,相当于vue中的计算属性,通过getters进一步处理,得到我们想要的值,并且允许传参,第一个参数就是state。这样可以使代码更加简洁和灵活。

在代码中定义的需要修改数据的操作,我们使用mutations。它类似于vue中的methods,需要通过commit来调用其里面的方法,并且可以传入参数,第一个参数是state,第二个参数是载荷(payLoad),也就是额外的参数。代码如下,模板部分和js部分的引入展示了mutations的使用。

为了简化代码,引入了mapMutations,通过它将方法映射过来,这样就可以避免在代码中频繁地写出多个mutations方法,使得代码更加整洁。但是,为什么要绕一圈,从mutations里面去改state呢?实际上,mutations不仅可以做赋值操作,还可以进行类似埋点的操作,如果从mutations中操作,可以被检测到,可以更方便地使用调试工具调试,调试工具可以检测到实时变化,而直接改变state中的属性,则无法实时监测。

为了避免字符串写错导致的问题,推荐使用常量替代Mutation事件类型。代码如下,将方法名字定义为一个常量,这样写的好处是不容易写错,且当写错时,eslint可以提示错误位置。同时,可以新建一个文件(mutation_type.js)专门存储这些常量,然后在store/index.js中引入。

在实际开发中,通常需要在actions中处理异步操作,如请求数据。actions类似于mutation,但区别在于action可以提交mutation,并且action包含异步操作,比如axios请求,可以将这些操作都放在action中。在actions中定义的方法默认就是异步的,并且返回promise。在vue部分,可以使用mapActions(['getUserInfo'])来替代直接引入多个方法,这样更加简洁。

在获取用户信息的场景中,通常在页面加载后,通过调用actions中的getUserInfo方法来获取用户信息。当登录后,需要得到用户信息,这时,首先想到的就是通过actions来操作mutations从而操作state。在actions中定义getUserInfo方法,然后在vue部分调用此方法,通过commit调用setUserInfo,将用户信息作为参数传入,将相对应的属性值赋值给state,完成这一过程的操作。在实际操作中,可以使用解构的方式,让代码更加清晰和便捷。

阅读全文

与vuex常用方法以及使用场景相关的资料

热点内容
地暖调试安装方法 浏览:300
三七片的鉴别方法化学 浏览:379
水泥沾衣服有什么方法能洗干净 浏览:794
市场报告常用的预测方法有 浏览:278
食用玫瑰扦插时间及方法 浏览:258
现代225风扇皮带安装方法 浏览:842
鉴别水晶有什么方法 浏览:502
发现燃气泄漏正确的处理方法有哪些 浏览:424
美的料理机使用方法 浏览:193
新鲜石斛作用及食用方法 浏览:378
手机清理油漆的方法 浏览:379
快速简单赚钱方法 浏览:80
粮食酒看外观鉴别方法 浏览:481
茶花扦插苗发根后怎么移栽方法 浏览:559
多肉操作方法视频 浏览:97
什么土方法能变帅 浏览:239
解决面瘫方法 浏览:746
大学生面对的困难及解决方法 浏览:805
70迈行车记录仪插头隐藏安装方法 浏览:575
常见的保障网络安全的方法有哪些 浏览:628