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

Vue implementiert das Senden von Emoticons im Chatfenster

Der spezifische Code zum Senden von Emoticons im ...

Detaillierte Erläuterung des SSR-Server-Side-Rendering-Beispiels von Vue

Warum Server-Side Rendering (SSR) verwenden? Bess...

Detaillierte Erläuterung verschiedener Speichermethoden von Docker-Containern

Inhaltsverzeichnis Vorne geschrieben Mehrere Spei...

Zusammenfassung zur Anwendung dekorativer Elemente im Webdesign

<br />Vorwort: Bevor Sie dieses Tutorial les...

11 Gründe, warum Bootstrap so beliebt ist

Vorwort Bootstrap, das beliebteste Front-End-Entw...

Einführung in Docker-Container

1. Übersicht 1.1 Grundlegende Konzepte: Docker is...

Zusammenfassung der Bootstrap-Lernerfahrung - Austausch von Designs im CSS-Stil

Aufgrund der Anforderungen des Projekts habe ich ...

React-Methode zum Anzeigen von Daten auf Seiten

Inhaltsverzeichnis Übergeordnete Komponente „list...

Tipps zur Konvertierung von MySQL-Spalten in Zeilen (teilen)

Vorwort: Weil viele Geschäftstabellen Entwurfsmus...

Grundlegendes Tutorial zur Bedienung von Dateien und Berechtigungen in CentOS

Vorwort Bevor wir beginnen, sollten wir uns kurz ...