Additional instructions for using getters and actions in Vuex

Additional instructions for using getters and actions in Vuex

Preliminary Notes

1.Differences between Vue2.x and Vue3.x:

  • In Vue 3.x, there are no helper functions.
  • There is no difference in other usage of Vuex.

2. Here we only expand and supplement the use of several attributes of Vuex.

Getters added

When getters are written in a submodule, the method in the getters attribute has a total of 4 parameters

getters: {
	/**
	  * Parameter description:
	  * state: represents the satate in the current module
	  * getters: represents the getters object in the current module, generally other methods of the same level * rootState: represents the satate object of the main module * rootGetters represents the getters object of the main module *
	  * The main module is - index.js */  
	getName(state, getters, rootState, rootGetters){
		// Instructions // State and getters can be called directly // rootState.Module name.Attribute name // rootGetters['module name/getters method name under this submodule']
		//Except for state, all other functions use [''], which complies with the naming convention },
	.......
}

Actions added

When actions are written in a submodule, the first parameter context object in the actions method will have 6 objects (there are other properties, but only these 6 are provided for developers to use)

definition

// actions in submodules
actions: {
	/**
	  * Parameter 1: context is an object. If the current actions are defined in a submodule, 
	  * The context will have the following 6 objects for developers to use * 
	  * 1. commit: call mutations
	  * (1). This module calls: commit('this module mutations method name', actual parameter)
	  * (2). Other modules call: commit('module name/other module's mutation method name', actual parameter, {root: true}),
	  * {root:true} fixed parameter, means to call it as the main module * 2. state: get the state of the current module
	  * 3. dispatch: call actions method * (1). This module calls: dispatch('actions method name of this module', actual parameter)
	  * (2). Calls from other modules: dispatch('module name/actions method name of other modules', null, {root: true})
	  * 4. Getters: Get the getters of the current module 
	  * 5. rootState: state under the main module
	  * 6. rootGetters: getters under the main module
	  *
	  * Parameter 2: value is the parameter passed when calling the component */
	refreshUserName(context, value){
	    setTimeout(()=>{
           store.commit('mutations method name', actual parameter value)  
       },2000)
	}
}

Call (Vue3.x)

import { useStore } from 'vuex'
setup(){
    const store = useStore()
    // store === this.$store
    store.dispatch('module name/actions method name', parameter value)
}

During development, if you want to use the above 6 objects, you must obtain the required objects through context. You can directly obtain them through deconstruction

The following is an example from the official website:

The above is the detailed content of the supplementary instructions for the use of getters and actions in Vuex. For more supplementary information on the use of getters and actions in Vuex, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • Requesting data instances in vuex actions in vue
  • Detailed example of vuex actions asynchronously modifying state
  • Specific use of Vuex's actions attribute
  • Detailed explanation of the usage of Actions in vuex learning
  • Detailed tutorial on using actions in Vuex

<<:  Introduction and analysis of three Binlog formats in MySQL

>>:  Analysis of parameter transfer process of driver module in Linux

Recommend

Code analysis of user variables in mysql query statements

In the previous article, we introduced the MySQL ...

How to install MySQL Community Server 5.6.39

This article records the detailed tutorial of MyS...

The difference between name and value in input tag

type is the control used for input and output in t...

How to write beautiful HTML code

What Beautiful HTML Code Looks Like How to write ...

How to change the encoding of MySQL database to utf8mb4

The utf8mb4 encoding is a superset of the utf8 en...

How to implement scheduled automatic backup of MySQL under CentOS7

The happiest thing that happens in a production e...

MySql COALESCE function usage code example

COALESCE is a function that refers to each parame...

How to use Nginx to carry rtmp live server

This time we set up an rtmp live broadcast server...

Solution to the ineffective margin of div nested in HTML

Here's a solution to the problem where margin...

CSS screen size adaptive implementation example

To achieve CSS screen size adaptation, we must fi...

How to use node scaffolding to build a server to implement token verification

content Use scaffolding to quickly build a node p...

How to Learn Algorithmic Complexity with JavaScript

Table of contents Overview What is Big O notation...

vue-pdf realizes online file preview

This article example shares the specific code of ...

Getting Started Tutorial for Beginnersâ‘§: Easily Create an Article Site

In my last post I talked about how to make a web p...