Maison >développement back-end >tutoriel php >Communication des composants Vue : utilisation de Vuex pour la communication de gestion d'état

Communication des composants Vue : utilisation de Vuex pour la communication de gestion d'état

王林
王林original
2023-07-09 10:16:541358parcourir

Communication des composants Vue : Utilisation de Vuex pour la communication de gestion d'état

Introduction :
Dans le développement de Vue, la communication entre les composants est un problème clé. Vue propose diverses façons d'implémenter la communication entre composants, parmi lesquelles l'utilisation de Vuex pour la gestion des états est une méthode courante. Cet article expliquera comment utiliser vuex pour la communication entre composants et fournira des exemples de code pour aider les lecteurs à mieux comprendre.

1. Qu'est-ce que vuex
Vuex est la bibliothèque officielle de gestion d'état de Vue.js. Elle peut réaliser la gestion de l'état global et de la communication entre les composants. Vuex gère l'état de tous les composants de l'application sur la base d'un stockage centralisé et fournit un ensemble d'API pour modifier l'état et l'état d'accès. L'utilisation de Vuex facilite le partage d'état entre plusieurs composants, améliorant ainsi la maintenabilité et la réutilisation du code.

2. Concepts de base de vuex

  1. State (state) : vuex stocke tous les états dans une seule arborescence d'états, et définit et accède aux états via l'état.
  2. Getters (propriétés calculées) : certains états peuvent être dérivés de l'état via des getters, similaires aux propriétés calculées dans les instances Vue.
  3. Mutations (changements) : La seule façon de mettre à jour l'état via des mutations est de soumettre la mutation. Cela ressemble plus à un événement. L'état ne peut pas être modifié directement dans la mutation. Il ne peut être obtenu qu'en soumettant la mutation.
  4. Actions : soumettez des mutations via des actions, qui peuvent effectuer des opérations asynchrones et peuvent contenir des opérations asynchrones.

3. Étapes pour utiliser vuex pour la communication des composants

  1. Installer vuex : installez vuex dans le projet, vous pouvez utiliser npm ou Yarn pour l'installer.
  2. Créer un magasin : créez un dossier de magasin dans le répertoire src, créez un fichier index.js sous le dossier du magasin, introduisez vuex et créez un objet de magasin.

    // index.js
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    export default new Vuex.Store({
      state: {
     count: 0
      },
      mutations: {
     increment(state) {
       state.count++
     }
      },
      actions: {
     increment(context) {
       context.commit('increment')
     }
      },
      getters: {
     doubleCount(state) {
       return state.count * 2
     }
      }
    })
  3. Introduisez le magasin dans le fichier main.js et montez-le sur l'instance Vue.

    // main.js
    import Vue from 'vue'
    import App from './App.vue'
    import store from './store'
    
    new Vue({
      store,
      render: h => h(App)
    }).$mount('#app')
  4. Utilisez vuex dans les composants :
  5. Dans les composants qui doivent utiliser l'état, mappez l'état aux propriétés calculées du composant via mapState.
  6. Dans les composants qui doivent utiliser des getters, mappez les getters aux propriétés calculées du composant via mapGetters.
  7. Dans les composants qui doivent modifier leur état, mappez les mutations aux méthodes du composant via mapMutations.
  8. Dans les composants qui nécessitent des opérations asynchrones, mappez les actions aux méthodes du composant via mapActions.

4. Exemple de code
Ce qui suit est un exemple simple pour montrer comment utiliser vuex pour la communication entre composants.

  1. Créez un composant nommé Counter et affichez la valeur de count et doubleCount dans le modèle.

    // Counter.vue
    <template>
      <div>
     <p>Count: {{ count }}</p>
     <p>Double Count: {{ doubleCount }}</p>
     <button @click="increment">Increment</button>
      </div>
    </template>
    
    <script>
    import { mapState, mapGetters, mapMutations } from 'vuex'
    
    export default {
      computed: {
     ...mapState(['count']),
     ...mapGetters(['doubleCount'])
      },
      methods: {
     ...mapMutations(['increment'])
      }
    }
    </script>
  2. Introduisez le composant Counter dans App.vue et utilisez-le.

    // App.vue
    <template>
      <div id="app">
     <Counter />
      </div>
    </template>
    
    <script>
    import Counter from './components/Counter.vue'
    
    export default {
      components: {
     Counter
      }
    }
    </script>

Résumé :
L'utilisation de vuex pour la communication de gestion d'état peut simplifier le processus de communication entre les composants et améliorer la maintenabilité et la réutilisabilité du code. En créant un magasin et en définissant l'état, les mutations, les actions, etc., le partage d'état et le transfert d'informations entre différents composants peuvent être réalisés. Grâce aux étapes et aux exemples de code ci-dessus, je pense que les lecteurs peuvent mieux comprendre et utiliser vuex pour la communication des composants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn