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

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (3)

In diesem Artikel wird der dritte Artikel zur Ver...

Vue nutzt Baidu Maps zur Realisierung der Stadtpositionierung

In diesem Artikel wird der spezifische Code von V...

Eclipse konfiguriert Tomcat und Tomcat hat eine ungültige Port-Lösung

Inhaltsverzeichnis 1. Eclipse konfiguriert Tomcat...

Detaillierte Analyse des MySQL 8.0-Speicherverbrauchs

Inhaltsverzeichnis 1. innodb_buffer_pool_size 2. ...

Einfache Implementierung von HTML zum Erstellen eines persönlichen Lebenslaufs

Lebenslauf-Code: XML/HTML-CodeInhalt in die Zwisc...

Docker-Umgebung in Linux-Umgebung installieren (keine Fallstricke)

Inhaltsverzeichnis Installationsvoraussetzungen S...

So zeigen Sie JSON-Daten in HTML an

Hintergrund: Manchmal müssen wir JSON-Daten direk...

Beispiel für eine automatische Importmethode für allgemeine Vue3.0-Komponenten

1. Voraussetzungen Wir verwenden zum Importieren ...

So ändern Sie den Benutzer und die Gruppe einer Datei in Linux

Wenn unter Linux eine Datei erstellt wird, ist de...

Verwenden Sie js, um js-Funktionen in Iframe-Seiten aufzurufen

In letzter Zeit habe ich jeden Tag an meinen Absch...