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

Detaillierte Erklärung der Docker-Nutzung unter CentOS8

1. Installation von Docker unter CentOS8 curl htt...

Fehlerbehebung bei MySQL-Datenverlust

Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...

Kapseln Sie die Navigationsleistenkomponente mit Vue

Vorwort: Die vollständige Kapselung eines Funktio...

So konvertieren Sie eine Zeichenfolge in JavaScript in eine Zahl

Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...

Erweiterte Erklärung der Javascript-Funktionen

Inhaltsverzeichnis Funktionsdefinitionsmethode Fu...

3 Tipps, die Sie beim Erlernen von JavaScript kennen müssen

Inhaltsverzeichnis 1. Der magische Erweiterungsop...

So fügen Sie einem Feld in MySQL eine Standardzeit hinzu

Unterschiede und Verwendungen von Datumstypen MyS...

Detaillierte Erläuterung des Zahlungsfunktionscodes des Vue-Projekts

1. Alipay-Methode: Alipay-Methode: Klicken Sie zu...