Vuex中getters和actions的使用补充说明

 更新时间:2021年09月24日 09:26:04   作者:SpringSir  
这篇文章主要介绍了在Vuex中关于getters和actions使用的补充作了简要说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

前置说明

1.Vue2.x 和 Vue3.x区别:

  • 在Vue3.x中, 没有辅助函数.
  • 其他关于Vuex的使用没有区别.

2. 此处只对于Vuex的几个属性中的使用做扩展补充.

getters补充

当getters写在子模块中时, getters属性中的方法, 全参共有4个参数

getters: {
	/**
	  * 形参说明:
	  * state:       表示当前模块中的satate
	  * getters:     表示当前模块中的getters对象, 一般是操作同级的其他方法
	  * rootState:   表示主模块的satate对象
	  * rootGetters  表示主模块的getters对象
	  *
	  *  主模块也就是-index.js中
	  */  
	getName(state, getters, rootState, rootGetters){
		// 使用说明
		// state、getters直接调用即可
		// rootState.模块名.属性名
		// rootGetters['模块名/该子模块下的getters方法名']
		// 除了state使用.调用以外, 其他都是用[''],符合命名规范的问题
	},
	.......
}

actions补充

当actions写在子模块中时, actions中的方法, 第一个形参 context对象中, 会有6个对象(还有别的属性, 只有这6个提供给开发者使用)

定义

// 子模块中的actions
actions: {
	/**
	  * 参数一: context 是一个对象, 如果当前actions定义在子模块中, 
	  * 	   context中会有以下6个提供给开发者使用的对象
	  * 
	  * 	1. commit:调用mutations
	  * 		(1).本模块调用:commit('本模块mutations方法名', 实参)
	  * 		(2).其它模块调用:commit('模块名/其它模块的mutations方法名', 实参,{root:true}),
	  * 			{root:true}固定参数, 表示作为主模块去调用的意思
	  * 	2. state:获取当前模块的state
	  * 	3. dispatch:调用actions方法
	  * 		(1).本模块调用:dispatch('本模块的actions方法名', 实参)
	  * 		(2).其它模块的调用:dispatch('模块名/其它模块的actions方法名',null,{root:true})
	  * 	4. getters:获取当前模块的getters 
	  * 	5. rootState:主模块下的state
	  * 	6. rootGetters:主模块下的getters
	  *
	  * 参数二: value是组件中调用时传递的参数
	  */
	refreshUserName(context, value){
	    setTimeout(()=>{
           store.commit('mutations方法名',实参值)  
       },2000)
	}
}

调用(Vue3.x)

import {useStore} from 'vuex'
setup(){
    const store=useStore()
    // store===this.$store
    store.dispatch('模块名/actions方法名',参数值)
}

开发中, 如果要使用上述6个对象, 都必须通过 context.来获取需要的对象, 可以通过解构, 直接获取

以下是官网的示例:

 

以上就是Vuex中getters和actions的使用补充说明的详细内容,更多关于Vuex中getters和actions使用补充的资料请关注脚本之家其它相关文章!

相关文章

  • Webpack和Vite的区别小结

    Webpack和Vite的区别小结

    本文主要介绍了Webpack和Vite的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • vue3基础组件开发detePicker日期选择组件示例

    vue3基础组件开发detePicker日期选择组件示例

    这篇文章主要为大家介绍了vue3基础组件开发-detePicker(日期选择组件)示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 如何在vue中使用kindeditor富文本编辑器

    如何在vue中使用kindeditor富文本编辑器

    这篇文章主要介绍了vue中使用kindeditor富文本编辑器的方法,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2020-12-12
  • 一文带你上手Vue新的状态管理Pinia

    一文带你上手Vue新的状态管理Pinia

    Vuex 作为一个老牌 Vue 状态管理库,大家都很熟悉了,Pinia 是 Vue.js 团队成员专门为 Vue 开发的一个全新的状态管理库,本文就来讲讲它的具体使用吧
    2023-04-04
  • vue实现不定高虚拟列表的示例详解

    vue实现不定高虚拟列表的示例详解

    这篇文章主要为大家详细介绍了在vue环境单页面项目下,如何实现不定高虚拟列表,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • vue extend+promise封装全局弹窗组件

    vue extend+promise封装全局弹窗组件

    这篇文章主要为大家详细介绍了vue extend+promise封装全局弹窗组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 使用vue-router为每个路由配置各自的title

    使用vue-router为每个路由配置各自的title

    这篇文章主要介绍了如何使用vue-router为每个路由配置各自的title,及使用vue router的方法,需要的朋友可以参考下
    2018-07-07
  • Vue动态改变css样式的3种方法总结

    Vue动态改变css样式的3种方法总结

    这篇文章主要给大家介绍了关于Vue动态改变css样式的3种方法,在Vue.js中我们经常需要根据特定的条件或事件来动态地修改CSS样式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • axios取消请求与避免重复请求

    axios取消请求与避免重复请求

    在项目中经常有一些场景会连续发送多个请求,而异步会导致最后得到的结果不是我们想要的,并且对性能也有非常大的影响,这篇文章主要给大家介绍了关于axios取消请求与避免重复请求的相关资料,需要的朋友可以参考下
    2021-06-06
  • Vue3.0在组件外使用VueI18n的情况

    Vue3.0在组件外使用VueI18n的情况

    这篇文章主要介绍了Vue3.0在组件外使用VueI18n的情况,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论