So verwenden Sie die Zusatzfunktionen von Vuex

So verwenden Sie die Zusatzfunktionen von Vuex

Kartenstaat

importiere { mapState } von 'vuex'

Standard exportieren {
  // ...
  berechnet:{
     ...mapState({
         // Pfeilfunktionen können den Code prägnanter machen zählen: state => state.count,
         // Die Übergabe des String-Parameters „count“ entspricht „state => state.count“
         countAlias: 'Anzahl',

         // Um ​​`this` verwenden zu können, um den lokalen Status abzurufen, müssen Sie die reguläre Funktion countPlusLocalState (state) { verwenden.
             returniere state.count + this.localCount
         }
  	})
  }
}

Wenn der definierte Attributname mit dem Namen im Status übereinstimmt, können Sie ein Array übergeben

//Zustand definieren
konstanter Zustand = {
    Anzahl: 1,
}

//Verwende die in der Komponente berechnete Hilfsfunktion:{
    ...mapState(['Anzahl'])
}

Kartengetter

berechnet:{
    ...mapGetters({
      // Ordnen Sie `this.doneCount` `this.$store.getters.doneTodosCount` zu.
      erledigtAnzahl: 'erledigtTodosCount'
    })
}

Wenn der Eigenschaftsname derselbe ist wie in Gettern definiert, können Sie ein Array übergeben

berechnet:{
  berechnet: {
  // Verwenden Sie den Object Spread Operator, um Getter in das berechnete Objekt zu mischen...mapGetters([
      'erledigtTodosCount',
      'ein anderer Getter',
      // ...
    ])
  }
}

Zusammenfassen:

  • Sowohl mapState als auch mapGetters verwenden computed für die Zuordnung
  • Nach der Zuordnung in der Komponente verwenden Sie es hierdurch. Zuordnungsattributname

Kartenmutationen

Methoden:{
    ...mapMutations({
        hinzufügen: 'Inkrement' // Ordnen Sie `this.add()` `this.$store.commit('Inkrement')` zu
    })
}

Wenn der Eigenschaftsname derselbe ist wie in mapMutatios definiert, können Sie ein Array übergeben

Methoden:{
    …mapMutations([
        'increment', // Ordnen Sie `this.increment()` `this.$store.commit('increment')` zu.

        // `mapMutations` unterstützt auch Payloads:
        „incrementBy“ // Ordnet „this.incrementBy(amount)“ „this.$store.commit('incrementBy', amount)“ zu.
    ]),
}

KarteActions

Mathematik: {
    ...mapActions({
        hinzufügen: 'Inkrement' // Ordnen Sie `this.add()` `this.$store.dispatch('Inkrement')` zu.
    })
}

Wenn der Attributname derselbe ist wie in mapActios definiert, kann ein Array übergeben werden

Methoden:{
    ...mapActions([
        'increment', // Ordnen Sie `this.increment()` `this.$store.dispatch('increment')` zu.	
        // `mapActions` unterstützt auch Payloads:
        „incrementBy“ // Ordnet „this.incrementBy(amount)“ „this.$store.dispatch('incrementBy', amount)“ zu.
    ]),
}

Zusammenfassen

  • Sowohl mapMutations als auch mapActios werden in Methoden abgebildet
  • Nach der Zuordnung wird es zu einer Methode

Mehrere Module

Wenn Sie keine Zusatzfunktionen verwenden,

dies.$store.commit('app/addCount')

Verwenden Sie die Hilfsfunktion. Der erste Parameter der Hilfsfunktion ist der Pfad zum angegebenen Namespace.

berechnet: {
  ...mapState('ein/verschachteltes/Modul', {
    a: Zustand => Zustand.a,
    b: Zustand => Zustand.b
  })
},
Methoden: {
  ...mapActions('einige/verschachtelte/Module', [
    'foo', // -> dies.foo()
    'Bar' // -> diese.Bar()
  ])
}

Oder verwenden Sie die Funktion createNamespacedHelpers, um eine Namespace-basierte Hilfsfunktion zu erstellen

importiere { createNamespacedHelpers } von 'vuex'

const { mapState, mapActions } = createNamespacedHelpers('some/nested/module') // Pfad angegeben // dieselbe Methode wie zuvor verwenden export default {
  berechnet: {
    // In `some/nested/module` nachschauen...mapState({
      a: Zustand => Zustand.a,
      b: Zustand => Zustand.b
    })
  },
  Methoden: {
    // Schauen Sie in `some/nested/module`...mapActions([
      'foo',
      'Bar'
    ])
  }
}

Oben finden Sie detaillierte Informationen zur Verwendung der Hilfsfunktionen von vuex. Weitere Informationen zu den Hilfsfunktionen von vuex finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Vue-Elternkomponente ruft Funktionsimplementierung der Unterkomponente auf
  • Grafische Erklärung des Funktionsaufrufs der Protodatei in Vue
  • Detaillierte Erklärung der grundlegenden Verwendung der Hilfsfunktion MapGetters in Vuex
  • Detaillierte Erklärung der Requisiten und Kontextparameter der SetUp-Funktion in Vue3
  • Detaillierte Untersuchung von vue2.x - Erklärung der h-Funktion

<<:  Detaillierte Erläuterung des MySQL-Kombinationsindex und des ganz links stehenden Übereinstimmungsprinzips

>>:  MySQL sql_mode-Analyse und Einstellungserklärung

Artikel empfehlen

Das WeChat-Applet implementiert den Wasserfallfluss, Paging, Scrollen und Laden

In diesem Artikel wird der spezifische Code für d...

So implementieren Sie Call, Apply und Binding in nativem JS

1. Implementieren Sie den Anruf Schritt: Legen Si...

Wird die Tabelle durch ein Update in einer MySQL-Transaktion gesperrt?

Zwei Fälle: 1. Mit Index 2. Ohne Index Voraussetz...

Detaillierte Erklärung der HTML-Download-Funktion

Das neue Projekt ist im Grunde abgeschlossen. Es ...

So handhaben Sie Bilder in Vue-Formularen

Frage: Ich habe in Vue ein Formular zum Hochladen...

...

JavaScript zur Implementierung des Anmeldeformulars

In diesem Artikelbeispiel wird der spezifische Ja...

Tipps zum reflektierenden Lernen von JavaScript

Inhaltsverzeichnis 1. Einleitung 2. Schnittstelle...

Lösung für den Fehler beim Importieren von MySQL Big Data in Navicat

Die von Navicat exportierten Daten können nicht i...

CSS-Leistungsoptimierung - detaillierte Erklärung der Will-Change-Verwendung

will-change teilt dem Browser mit, welche Änderun...

React kapselt die globale Bullet-Box-Methode

In diesem Artikelbeispiel wird der spezifische Co...