Detaillierte Erklärung der Kernkonzepte und der grundlegenden Verwendung von Vuex

Detaillierte Erklärung der Kernkonzepte und der grundlegenden Verwendung von Vuex

einführen

Vuex ist ein Mechanismus zum Verwalten des globalen Status (der Daten) von Komponenten, mit dem sich problemlos eine gemeinsame Datennutzung zwischen Komponenten realisieren lässt.

Start

Installieren

① Direkte Download-Methode

Erstellen Sie eine vuex.js-Datei und fügen Sie den Inhalt der URL https://unpkg.com/vuex in den Ordner ein.

②CND-Methode

<script src="https://cdn.jsdelivr.net/npm/es6-promise@4/dist/es6-promise.auto.js"></script>

③NPM-Methode

npm installiere vuex --save

④Garnmethode

Garn hinzufügen Vuex

So verwenden Sie die NPM-Installation

1. Erstellen Sie in der scr-Datei einen Ordner store/index.js und schreiben Sie den folgenden Inhalt.

Vue von „vue“ importieren
Vuex von „vuex“ importieren
Vue.Verwenden(Vuex)
exportiere standardmäßig neuen Vuex.Store({
Zustand: {},
Mutationen: {},
Aktionen: {},
Module: {}
})

2. Importieren Sie es in main.js und mounten Sie es dann in die Vue-Instanz

Vue von „vue“ importieren
Store aus „./store“ importieren
neuer Vue({
  rendern: h => h(App),
  speichern
}).$mount('#app')

Ladenkonzept und -nutzung

Konzept:

Es wird zum Austausch von Daten zwischen Komponenten verwendet.

Nur Mutationen können Daten im Speicher ändern.

verwenden:

Vor der Verwendung definieren

Definition

Zustand: {
  Nummer: 0
}

verwenden

Methode 1 (empfohlen)

<div>{{AnzahlAlias ​​​​}}</div>

importiere { mapState } von 'vuex'
Standard exportieren {
  //Berechnungsfunktion berechnet: mapState({
    // Die Übergabe des String-Parameters „count“ entspricht „state => state.count“
    numAlias: 'num', // Der gemeinsame Schlüssel ist ein Name, den Sie selbst vergeben, der Wert sind die Daten, die Sie erhalten // Die Pfeilfunktion kann den Code prägnanter machen count: state => state.count,
    // 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
    }
    //Sie können andere Berechnungsfunktionen definieren}),
  //Oder so //Berechnete Funktion berechnet: {
    mapState(['Anzahl'])
  }
}

Methode 2

<div>{{ $store.state.count }}</div>

Mutationskonzept und -verwendung

Konzept:

Ändern Sie die Daten im Speicher. Das Ändern der Daten an anderen Stellen ist strengstens verboten. Führen Sie in Mutationen keine asynchronen Vorgänge aus.

Mutationen müssen synchron ausgeführt werden und können nicht asynchron ausgeführt werden.

verwenden:

Definieren Sie die Methode, bevor Sie sie verwenden

Definition

Mutationen:
	//Inkrementieren Sie die benutzerdefinierte Methode. Der Store-Parameter ist das Speichern von Daten, der Parameter Parameter sind empfangene Daten, nicht inkrementieren (Status, Parameter) {
        // Status ändern state.num++
    }
}

verwenden

Methode 1 (empfohlen)

importiere { mapState, mapMutations } von 'vuex'
//Methoden: {
	…mapMutations([
	    // Mutationen, benutzerdefinierter Methodenname „Inkrement“
    ]),
    Liebe() {
    	// Dies ruft direkt this.increment auf ('Die zu übergebenden Daten werden nicht benötigt.')
        this.increment('Bin')
    }
}

Methode 2

Methoden: {
    Liebe() {
    	// this.$store.commit('benutzerdefinierter Name', 'übergebene Daten dürfen nicht übergeben werden')
    	dies.$store.commit('Inkrement', 'Daten')
    }
}

Aktionskonzept und -verwendung

Konzept:

Wird zur Verarbeitung asynchroner Vorgänge verwendet.

Wenn Sie Daten durch asynchrone Vorgänge ändern möchten, müssen Sie Aktionen statt Mutationen verwenden. Sie müssen Daten jedoch weiterhin indirekt ändern, indem Sie Mutationen in Aktionen auslösen.

Die Aktion ähnelt der Mutation, außer dass:

  • Die Aktion übermittelt eine Mutation, anstatt die Daten (den Status) direkt zu ändern.
  • Die Aktion kann beliebige asynchrone Vorgänge enthalten.

Definition

Mutationen:
	//Inkrementieren Sie die benutzerdefinierte Methode. Der Store-Parameter ist das Speichern von Daten, der Parameter Parameter sind empfangene Daten, nicht inkrementieren (Status, Parameter) {
        // Status ändern state.num++
    }
},
Aktionen: {
	//benutzerdefinierte Methode hinzufügen Kontext ist ein Parameter, Sie können ihn als Instanz von vuex add(context) { behandeln.
    	//Sie können context.commit('Methode, die in Mutationen aufgerufen werden soll') verwenden.
    	Kontext.commit('Inkrement')
    }
}

verwenden

Methode 1 (empfohlen)

importiere { mapState, mapMutations, mapActions } von 'vuex'
Standard exportieren {
  Methoden: {
    ...mapActions([
      'add', // Ordnen Sie `this.add()` `this.$store.dispatch('add')` zu.
      // `mapActions` unterstützt auch Payloads:
      „add“ // ordnet „this.add(amount)“ „this.$store.dispatch(„add“, amount)“ zu.
    ]),
    ...mapActions({
      hinzufügen: 'add' // Ordnen Sie `this.add()` `this.$store.dispatch('increment')` zu
    }),
    Liebe() {
    	// Rufen Sie this.add direkt auf ('Die zu übergebenden Daten werden nicht benötigt.')
    	dies.add(Daten)
    }
  }
}

Methode 2

Methoden: {
    Liebe() {
    	// this.$store.dispatch('benutzerdefinierter Name', 'übergebene Daten dürfen nicht übergeben werden')
    	this.$store.dispatch('Hinzufügen', Daten)
    }
}

Konzept und Verwendung von Gettern

Konzept:

Getter wird verwendet, um die Daten im Speicher zu verarbeiten und neue Daten zu bilden. Getting kann die vorhandenen Daten im Speicher verarbeiten, um neue Daten zu bilden, ähnlich der Berechnungsabkürzung von Vue.

Definition

Zustand: {
  Nummer: 0
},
Getter: {
    erledigtTodos: status => {
    	Rückgabewert: state.num = 10
    }
}

verwenden

Methode 1 (empfohlen)

<div>{{ erledigtAlle }}</div>

importiere { mapState, mapMutations, mapActions, mapGetters } von 'vuex'
Standard exportieren {
  //Berechnungsfunktion berechnet: {
  	...mapState(['Anzahl']),
  	…mapmapGetters(['erledigtAlles'])
  }
}

Methode 2

<div>{{ $store.getters.doneAlle }}</div>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Erste Schritte mit Vuex
  • Verwenden Sie immer noch Vuex? Erfahren Sie mehr über Pinia
  • Detailliertes Tutorial zur Verwendung von Aktionen in Vuex
  • Grundlegendes Tutorial zur Installation und Verwendung von VueX
  • Detaillierte Erläuterung der Verwendung von Vuex beim Vue-Lernen
  • Detaillierte Erklärung der Eigenschaften und Funktionen von Vuex
  • So verwenden Sie Vuex in einem Vue-Projekt
  • Detaillierte Erläuterung des Vuex-Gesamtfalls
  • Tiefgreifendes Verständnis der Rolle von Vuex
  • Vuex in einem Artikel verstehen
  • Detaillierte Einführung und Verwendung von Vuex

<<:  Eine einfache Möglichkeit, eine HTML-Fußzeile am unteren Ende der Seite einzufügen

>>:  MySQL-Datenaggregation und -gruppierung

Artikel empfehlen

Beispiel für die Konfiguration von Nginx im CentOS-Server

Laden Sie das sichere Terminal MobaXterm_Personal...

Axios Sekundärkapselungsbeispiel Demo im Projekt

1. Warum verpacken? Erleichtert das Aufrufen von ...

Zwei Boxmodelle in Webseiten (W3C-Boxmodell, IE-Boxmodell)

Es gibt zwei Arten von Webseiten-Boxmodellen: 1: S...

Beispiel und Update für die Erstellung von HTML5+CSS3-Headern

Beim letzten Mal haben wir uns zwei Header-Layout...

Axios storniert wiederholte Anfragen

Inhaltsverzeichnis Vorwort 1. So stornieren Sie e...

Welche Bilddateiformate gibt es und wie wählt man sie aus?

1. Welche drei Formate? Dies sind: gif, jpg und pn...

Bringen Sie Ihnen bei, wie Sie den Beobachtermodus in Javascript implementieren

Inhaltsverzeichnis Was ist das Beobachtermuster? ...

Natives Javascript+CSS, um den Karusselleffekt zu erzielen

Dieser Artikel verwendet Javascript + CSS, um den...

Führen Sie die Schritte zum Erstellen eines Squid-Proxyservers unter Linux aus.

Vorwort Dieser Artikel stellt hauptsächlich die r...

Detaillierte Schritte zum Löschen von Umgebungsvariablen in Linux

Wie lösche ich Umgebungsvariablen unter Linux? Ve...

25 Beispiele für Website-Design im Nachrichtenstil

bmi Voyager Heugabel Ulster Lebensmittelhändler F...

So deinstallieren Sie MySQL sauber (getestet und effektiv)

Wie deinstalliere ich Mysql vollständig? Befolgen...