Introducción básica a Vuex, gestión de estado, gestión de estado de interfaz única, gestión de varios estados y casos de uso

Introducción básica de VVuex, gestión de estado, gestión de estado de interfaz única, gestión de varios estados y casos de uso

1. ¿Qué hace VueX?

Administrar el estado de todos los componentes
inserte la descripción de la imagen aquí

2. ¿Qué estado se gestiona con VueX?

Estado de inicio de sesión del usuario
inserte la descripción de la imagen aquí

3. Gestión de estado de interfaz única

inserte la descripción de la imagen aquí

<template>
  <div id="app">
  <h2>{
    
    {
    
    message}}</h2>
  <h2>{
    
    {
    
    counter}}</h2>
  <button @click="counter--">-</button>
  <button @click="counter++">+</button>
  </div>
</template>

<script>
export default {
    
    
  name: 'App',
  data(){
    
    
    return{
    
    
      message: '我是APP页面的组件',
      counter:0
    }
  }
}
</script>

<style>

</style>

Como se muestra en la figura a continuación, haga clic en el botón -> estado de activación -> cambio de página
inserte la descripción de la imagen aquí

4. Gestión de estado de varias páginas

inserte la descripción de la imagen aquíLeyenda oficial de la gestión de estado de varias páginas:
inserte la descripción de la imagen aquí

5. Caso de gestión de estado de varias páginas

1. Crear un objeto de tienda

inserte la descripción de la imagen aquí
src/tienda/index.js

import Vue from 'vue';
import Vuex from 'vuex'

//1、安装插件
Vue.use(Vuex)

// 2、创建对象
const store = new Vuex.Store({
    
    
  state:{
    
    
    counter:0
  },
  mutations: {
    
    
    increment(state){
    
    
      this.state.counter++
    },
    decrement(state){
    
    
      this.state.counter--
    }
  }
})

// 3、导出store对象
export default store

2. Móntelo en la instancia de Vue:
inserte la descripción de la imagen aquí
src/main.js

import Vue from 'vue'
import App from './App'
import store from './store'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
    
    
  el: '#app',
  store,
  render: h => h(App)
})

3. Usa el contador de Vuex

inserte la descripción de la imagen aquí
src/APP.vue

<template>
  <div id="app">
  <h2>{
    
    {
    
    message}}</h2>
  <h2>{
    
    {
    
    $store.state.counter}}</h2>
  <button @click="subtraction">-</button>
  <button @click="addition">+</button>
  <hello-vuex></hello-vuex>
  </div>
</template>

<script>

import HelloVuex from './components/HelloVuex'

export default {
    
    
  name: 'App',
  components:{
    
    
    HelloVuex
  },
  data(){
    
    
    return{
    
    
      message: '我是APP页面的组件'
    }
  },
  methods:{
    
    
    addition:function(){
    
    
      this.$store.commit('increment')
    },
    subtraction:function(){
    
    
      this.$store.commit('decrement')
    }
  }
}
</script>

<style>

</style>

Supongo que te gusta

Origin blog.csdn.net/qq_46112274/article/details/123405017
Recomendado
Clasificación