Detailliertes Beispiel für die Statusverwaltung der Hilfsfunktion der Vue-Frontend-Entwicklung

Detailliertes Beispiel für die Statusverwaltung der Hilfsfunktion der Vue-Frontend-Entwicklung

Kartenstaat

Wenn eine Komponente mehrere Zustände abrufen muss, wäre die Deklaration aller dieser Zustände als berechnete Eigenschaften etwas repetitiv und redundant. Um dieses Problem zu lösen, können wir die Hilfsfunktion mapState verwenden, die uns beim Generieren berechneter Eigenschaften hilft. Wenn mapState nicht verwendet wird, wird der Objektstatus abgerufen, normalerweise in der Computes-Eigenschaft der verwendeten Komponente, und wird wie folgt verwendet:

  //....
  berechnet: {
        zählen: Funktion(){
            gib dies zurück.$store.state.count
        }
    }
 //....    

Mit mapState kann dies wie folgt vereinfacht werden:

importiere { mapState } von 'vuex' //MapState-Objekt einführen export default {
  // ...
  berechnet: mapState({
    // Pfeilfunktionen können den Code prägnanter machen zählen: state => state.count,
  })
}
Oder importiere { mapState } von 'vuex' //Führe mapState-Objekt ein export default {
  // ...
  berechnet: mapState({
    'count', // im Einklang mit dem Statusnamen countAlias: 'count' // countAlias ​​​​ist der in der Referenzkomponente verwendete Alias})
}

Kartengetter

Die Hilfsfunktion „mapGetters“ ordnet Getter im Store einfach lokal berechneten Eigenschaften zu, ähnlich dem Status. Der Code der Berechnungsfunktion wird wie folgt vereinfacht:

importiere { mapGetters } von 'vuex'
Standard exportieren {
  // ...
  berechnet: {
  // Verwenden Sie den Object Spread Operator, um Getter in das berechnete Objekt zu mischen...mapGetters([
      'AnzahlDouble',
      'Doppelte und doppelte Anzahl',
      //..
    ])
  }
}

MapGetters können auch Aliase verwenden.

Kartenmutationen

Verwenden Sie die Hilfsfunktion mapMutations, um die Methoden in der Komponente store.commit-Aufrufen zuzuordnen. Der vereinfachte Code lautet:

importiere { mapMutations } von 'vuex'
Standard exportieren {
  //..
  Methoden: {
    …mapMutations([
      „Inkrement“ // Ordnen Sie this.increment() diesem.$store.commit(„Inkrement“) zu.
    ]),
    ...mapMutations({
      hinzufügen: 'Inkrement' // Ordnen Sie this.add() diesem.$store.commit('Inkrement') zu.
    })
  }
}

Kartenaktionen

Verwenden Sie die Hilfsfunktion mapActions, um Komponentenmethoden store.dispatch-Aufrufen zuzuordnen. Der vereinfachte Code lautet:

importiere { mapActions } von 'vuex'
Standard exportieren {
  //..
  Methoden: {
    ...mapActions([
      'incrementN' //Ordnen Sie this.incrementN() diesem.$store.dispatch('incrementN') zu.
    ]),
    ...mapActions({
      hinzufügen: 'incrementN' //Ordnen Sie this.add() diesem.$store.dispatch('incrementN') zu.
    })
  }
}

Beispiel

Dies geschieht nach dem Vorbild von Vue State Management (II) über Hilfsfunktionen. In den Komponenten CountChange und ComputeShow werden Hilfsfunktionen verwendet und der restliche Code muss nicht geändert werden.
In ComputeShow werden zwei Hilfsfunktionen verwendet, mapState und mapGetters. Der Code lautet wie folgt

<Vorlage>
  <div align="center" style="Hintergrundfarbe: bisque;">
    <p>Nachfolgend erfahren Sie, wie Sie mit computed die Statusdaten direkt in Geschäften abrufen und bei einer Änderung der Statusdaten synchron aktualisieren können.</p>
    <h1>Berechneten Wert verwenden, um Status abzurufen: {{ computedState }}</h1>
    <h1>Verwenden Sie Calculated, um Getter zu erhalten: {{ computedGetters }}</h1>
  </div>
</Vorlage>
<Skript>
  importiere { mapState,mapGetters } von 'vuex' //Führe mapState,mapGetters-Objekte ein exportiere default {
    Name: 'ComputeShow',
    berechnet:{
    ...mapState({
      berechneterZustand:'Anzahl' //Alias: berechneterZustand
    }),
    ...mapGetters({
      computedGetters:'getChangeValue' //Alias: computedGetters
    })
    }
  }
</Skript>
<Stil>
</Stil>

Es empfiehlt sich bei der Verwendung einer Karte einen Alias ​​anzugeben, um eine Entkopplung von den Inhalten der Stores zu erreichen. In CountChange werden zwei Hilfsfunktionen verwendet, mapMutations und mapActions. Der Code lautet wie folgt

<Vorlage>
  <div ausrichten="zentrieren">
    <Eingabetyp="Zahl" v-Modell="ParamWert" />
    <button @click="addNum({res: parseInt(paramValue)})">+Erhöhen</button>
    <button @click="subNum">-Verringern</button>
  </div>
</Vorlage>
<Skript>
  importieren {
    Kartenmutationen,
    Kartenaktionen
  } von 'vuex' //mapMutations einführen, mapActions-Objekte standardmäßig exportieren {
    Name: 'CountChange',
    Daten() {
      zurückkehren {
        Parameterwert: 1,
      }
    },
    Methoden: {
      ...mapMutations({
        subNum: 'sub' //Alias ​​subNum hinzufügen
      }),
      ...mapActions({
        addNum: 'increment' //Ordnen Sie this.incrementN() diesem.$store.dispatch('incrementN') zu.
      })
    }
  }
</Skript>
<Stil>
</Stil>

Geben Sie den Methoden in Speichern auf ähnliche Weise Aliase, und wenn Parameter übergeben werden müssen, übergeben Sie sie über Aliase an Aktionen oder Mutationen. Beispielsweise sendet "addNum({res: parseInt(paramValue)})" ein Objekt {res: ''}

Zusammenfassung

Die Hilfsfunktion selbst hat keine neue Bedeutung und dient hauptsächlich der Vereinfachung des Codes bei der Verwendung von State, Gettern, Mutationen und Actions.

Oben sind die Einzelheiten des detaillierten Beispiels der Statusverwaltung von Hilfsfunktionen in der Vue-Frontend-Entwicklung aufgeführt. Weitere Informationen zur Statusverwaltung von Vue-Hilfsfunktionen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So verwenden Sie Provide zur Implementierung der Statusverwaltung in Vue3
  • Der praktische Prozess des Login-Status-Managements im vuex-Projekt
  • Erfahren Sie schnell, wie Sie mit der Vuex-Statusverwaltung in Vue3.0 beginnen
  • So verstehen Sie den einfachen Speichermodus der Statusverwaltung von Vue
  • Anwendung der MapState-Idee in Vuex
  • So verwenden Sie Vuex in einem Vue-Projekt
  • Verwendung des Vuex-Namespace
  • Vue-Statusverwaltung: Verwendung von Pinia statt Vuex

<<:  Erstellen, Hochladen, Abrufen und Bereitstellen von Docker-Images (mithilfe von Alibaba Cloud)

>>:  So aktivieren Sie die MySQL-Remoteverbindung

Artikel empfehlen

Löschen von Dateien mit Leerzeichen in Linux (keine Verzeichnisse)

In unserer täglichen Arbeit kommen wir oft mit Da...

So fügen Sie Tastenkombinationen in Xshell hinzu

Als nützlicher Terminalemulator wird Xshell häufi...

Beispiel zum Entfernen eines JSON-Backslashs in PHP

1. Entfernen Sie Backslashes mit der Methode „str...

Details zu 7 Arten der Komponentenkommunikation in Vue3

Inhaltsverzeichnis 1. Kommunikationsmethode für V...

Ladeanimation mit CSS3 implementiert

Ergebnisse erzielen Implementierungscode <h1&g...

Vue implementiert die richtige Slide-Out-Layer-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Verwenden Sie HTML und CSS, um Ihren eigenen warmen Mann „Dabai“ zu erstellen.

Das Endergebnis sieht so aus, ist es nicht süß … ...

Optimieren Sie MySQL mit 3 einfachen Tricks

Ich erwarte nicht, ein erfahrener Datenbankadmini...

Erfahren Sie, wie nginx hohe Leistung und Skalierbarkeit erreicht.

Die Gesamtarchitektur von NGINX ist durch eine Re...

Detaillierte Beispiele für die Ausführung von Zabbix-Remotebefehlen

Inhaltsverzeichnis eins. Umfeld zwei. Vorsichtsma...