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

Erläuterung synthetischer React-Ereignisse

Inhaltsverzeichnis Klicken Sie zunächst auf das E...

Detailliertes Tutorial zum Kompilieren und Installieren von Python3.6 unter Linux

1. Gehen Sie zunächst auf die offizielle Website ...

Eine kurze Analyse der Crontab-Aufgabenplanung in Linux

1. Erstellen Sie eine Planungsaufgabe Anweisung c...

Methode für die Sicherheitseinstellungen des Tomcat-Servers

Tomcat ist ein HTTP-Server, der die offizielle Re...

Detaillierte Erläuterung des Fehlerproblems der Case-When-Anweisung

Vorwort In der MySQL-Datenbank verwenden wir manc...

Detaillierter Installationsprozess von Jenkins unter Linux

Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...

JavaScript-Grundlagenoperatoren

Inhaltsverzeichnis 1. Betreiber Zusammenfassen 1....

Beschreibung des hr-Tags in verschiedenen Browsern

Im Allgemeinen treffen wir die Personalabteilung n...

MySQL 5.7.17 Winx64 Installations- und Konfigurations-Tutorial

Heute habe ich die MySQL-Datenbank erneut auf mei...

Detaillierte Erklärung zur Verwendung von Vue-Resource-Interceptors

Vorwort Abfangjäger In einigen modernen Front-End...

Einführung in die MySQL-Gesamtarchitektur

Die Gesamtarchitektur von MySQL ist in die Server...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

Mac VMware Fusion CentOS7 Konfiguration statisches IP-Tutorial-Diagramm

Inhaltsverzeichnis Installieren Sie CentOS7 Konfi...