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

Eine ausführliche Diskussion zur Detailanalyse im Webdesign

Bei der Designarbeit höre ich oft, dass an der Übe...

So ändern Sie die Längenbeschränkung von group_concat in MySQL

In MySQL gibt es eine Funktion namens „group_conc...

So erlauben Sie allen Hosts den Zugriff auf MySQL

1. Ändern Sie den Host-Feldwert eines Datensatzes...

Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

Vor Kurzem musste ich den Server erneut einem Str...

Einfache Tipps zur Erhöhung der Ladegeschwindigkeit von Webseiten

Die Ladegeschwindigkeit einer Webseite ist ein wic...

Detaillierte Erklärung des Vue3-Sandbox-Mechanismus

Inhaltsverzeichnis Vorwort Browser kompilierte Ve...

Eine kurze Erläuterung zu „Group By“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

MySQL-Optimierung: InnoDB-Optimierung

Lernpläne werden leicht unterbrochen und es ist s...