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 des Hintergrund-Positionsprozentsatzprinzips

Als ich heute jemandem beim Anpassen des Codes ha...

Lösen Sie das Problem der inkonsistenten MySQL-Speicherzeit

Nachdem die Systemzeit mit Java ermittelt und in ...

Detaillierte Erklärung des digitalen Puzzles CocosCreator Huarongdao

Inhaltsverzeichnis Vorwort Text 1. Panel 2. Huaro...

So richten Sie Spring Boot mithilfe der Docker-Schichtenverpackung ein

Das Spring Boot-Projekt verwendet Docker-Containe...

Vue3 + TypeScript-Entwicklungszusammenfassung

Inhaltsverzeichnis Vue3 + TypeScript lernen 1. Um...

Über Generika der C++ TpeScript-Reihe

Inhaltsverzeichnis 1. Vorlage 2. Generika 3. Gene...

So erstellen Sie eine lnmp-Umgebung im Docker

Erstellen eines Projektverzeichnisses mkdir php E...

Webdesign-Erfahrung: Effizientes Schreiben von Webcode

Ursprünglich sollte dieses siebte Kapitel eine aus...

So sichern Sie MySQL-Kontoinformationen elegant

Vorwort: Ich bin kürzlich auf das Problem der Ins...