Eine kurze Diskussion über den Werttransfer zwischen Vue-Komponenten (einschließlich Vuex)

Eine kurze Diskussion über den Werttransfer zwischen Vue-Komponenten (einschließlich Vuex)

Ohne die Verwendung von Vuex können Werte zwischen Komponenten über übergeordnete oder untergeordnete Komponenten oder Geschwisterkomponenten übergeben werden.

Vom Vater zum Sohn:

Vaterkomponente:

<Vorlage>
    <div>
        <HALLOWELT :needData="content"></HALLOWELT>
    </div>
</Vorlage>

<Skript>
importiere HELLOWORLD aus '../components/HelloWorld.vue'
Standard exportieren {
    Komponenten: {
        HALLO WELT
    },
    Daten(){
        zurückkehren {
            Inhalt: "Inhalt"
        }
    }
}
</Skript>

<style lang="less" scoped>

</Stil>

SonComponent (der Name der Unterkomponente lautet HELLOWORLD):

<Vorlage>
    <div>
        <h1>HALLOWELT</h1>
    </div>
</Vorlage>

<Skript>
Standard exportieren {
    Requisiten:["needData"],
    Daten(){
        zurückkehren {
            H:diese.braucheDaten,
        }
    },
    montiert(){
        konsole.log(diese.H);
    }
}
</Skript>

<style lang="less" scoped>

</Stil>

Bildbeschreibung hier einfügen

Sohn zum Vater:

Vaterkomponente:

<Vorlage>
    <div>
        <HALLOWELT @sendData="getData"></HALLOWELT>
    </div>
</Vorlage>

<Skript>
importiere HELLOWORLD aus '../components/HelloWorld.vue'
Standard exportieren {
    Komponenten: {
        HALLO WELT
    },
    Daten(){
        zurückkehren {
            
        }
    },
    Methoden:{
        getData(sonData){
            Konsole.log("Daten=>",sonData);
        },
    }
}
</Skript>

<style lang="less" scoped>

</Stil>

Sohnkomponente:

<Vorlage>
    <div>
        <h1>HALLOWELT</h1>
    </div>
</Vorlage>

<Skript>
Standard exportieren {
    Daten(){
        zurückkehren {
            Inhalt: "Inhalt"
        }
    },
    montiert(){
        dies.$emit("sendData",dieser.inhalt);
    }
}
</Skript>

<style lang="less" scoped>

</Stil>

Effektbild:

Bildbeschreibung hier einfügen

Um Daten zwischen übergeordneten und untergeordneten Komponenten zu übertragen, können Daten tatsächlich auch durch Aufrufen der Funktion der übergeordneten Komponente oder der Funktion der untergeordneten Komponente übertragen werden. In Vue ruft die untergeordnete Komponente die Funktion der übergeordneten Komponente auf.

https://www.jb51.net/article/134732.htm

Die übergeordnete Vue-Komponente ruft die Funktion der untergeordneten Komponente auf

https://www.jb51.net/article/219793.htm

Vuex ist ein integraler Bestandteil des Vue-Frameworks;

Vuex ist besonders wichtig, wenn eine Kommunikation zwischen mehreren Komponenten erforderlich ist. Wenn beispielsweise Daten in der übergeordneten Komponente generiert werden, die Daten jedoch in der Unterkomponente der Unterkomponente verwendet werden müssen, kann Vuex zur Verwaltung verwendet werden. Oder wenn Geschwisterkomponenten Werte übergeben müssen, kann Vuex verwendet werden.

Es gibt fünf Eigenschaften in Vues store.js:
Dies sind Zustände, Mutationen, Aktionen, Getter und Module.

Der Aufbau ist:

sei a={
  Zustand: {
  	Name:"ModulA"
  },
  //Mutationen werden speziell dazu verwendet, die Daten im Statusattribut Mutationen zu ändern: {
  	setFun(Zustand,Element){
		Status.Name=Artikel;
	}
  }
}

exportiere standardmäßig neuen Vuex.Store({
  //Status ist für die Speicherung von Daten reserviert. Status: {
  	Zahl: 100,
  	Komponente verwenden:{
		Name: „A“,
	},
	useBcomponent:"Inhalt",
  },
  //Mutationen werden speziell dazu verwendet, die Daten im Statusattribut Mutationen zu ändern: {
  	setStateFun(Zustand,Element){
		Zustand.useBcomponent="B-Komponente";
	}
  },
  Aktionen: {
  	httpGetData(Geschäft,Artikel){
		setzeTimeout(()=>{
			konsole.log(Element);
			store.commit("setStateFun",Artikel);
		},3000)
	}
  },
  Getter: {
  //Beim Aufruf der Funktion im Getter wird kein Parameter übergeben getterFun1(state){
		returniere state.num++
	}
  //Beim Aufruf der Funktion im Getter gibt es Eingabeparameter gettterFun2(state){
		Rückgabefunktion (Wert) {
			Rückgabewert: Zustand.num+=val;
		}
	}
  },
  Module:
  	ModulA:a
  }
});
}

Auf die Daten des Bundeslandes kann in unterschiedlichen Komponenten zugegriffen werden.

Statusdaten abrufen:

Daten in diesem $store.state.state-Objekt;
Lassen Sie beispielsweise val = this.$store.state.num;

Um die Statusdaten zu ändern, rufen Sie einfach die Funktion im Mutationsobjekt von Vuex auf:

this.$store.commit("Funktionsname","Daten");
Zum Beispiel dies.$store.commit("setStateFun","testSetItem");

Aktionsobjekt, das zum Stellen von Anfragen in Vuex verwendet wird

this.$store.dispatch("Funktionsname","Daten");
Beispielsweise this.$store.dispatch("httpGetData","testItem");

Getter-Objekt, ähnlich den berechneten Eigenschaften von Vue

dies.$store.getters.Funktionsname;
Zum Beispiel // wenn kein Parameter eingegeben wird: this.$store.getters.getterFun1;
//Wenn ein Eingabeparameter vorhanden ist: this.$store.getters.getterFun2(123);

Das Modulobjekt ähnelt der Trennung der zu verwendenden Store-Module. Jedes Modulobjekt entspricht einem Modul.

//Holen Sie sich die Statusdaten im Modulobjekt this.$store.state.modules Objektname.state-Wert;
Zum Beispiel this.$store.state.ModuleA.name
//Verwenden Sie die Mutationsfunktion im Modulobjekt this.$store.commit("Funktionsname","Eingabeparameterdaten");
Zum Beispiel dies.$store.commit("setFun","itemabc");
//Hier ist zu beachten, dass, wenn es im Modul Module und im externen (nicht im Modulobjektmodul) Mutationsobjekt eine Funktion mit demselben Namen gibt, beim Aufruf beide Funktionen mit demselben Namen ausgeführt werden

Damit ist dieser Artikel mit einer kurzen Erörterung der Wertübertragung zwischen Vue-Komponenten (einschließlich Vuex) abgeschlossen. Weitere Inhalte zur Wertübertragung zwischen Vue-Komponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung verschiedener Möglichkeiten zur Kommunikation und Wertübergabe zwischen Komponenten in Vue
  • Woher wissen Sie, wie Werte zwischen Vue-Komponenten übergeben werden?
  • Detaillierte Erläuterung der Wertübertragung von nicht über- und untergeordneten Komponenten in Vue3
  • Detaillierte Erklärung der Wertübertragung zwischen übergeordneten und untergeordneten Komponenten in Vue3
  • Detaillierte Erläuterung der Werteübertragung von Vue-Eltern-Kind-Komponenten und der Probleme beim unidirektionalen Datenfluss
  • Super einfache und leicht verständliche Übertragung von Vue-Komponentenwerten

<<:  Tutorial zur Installation von MySQL 8.0.11 mit RPM unter Linux (CentOS7)

>>:  Grundlegende Verwendung von UNION und UNION ALL in MySQL

Artikel empfehlen

Implementierung der Vue-Einzeldateikomponente

Ich habe kürzlich über Vue gelesen. Ich habe eine...

Detaillierte Erklärung des JS-Speicherplatzes

Inhaltsverzeichnis Überblick 1. Stapeln und Aufhä...

Reiner CSS-Code zum Erzielen eines Drag-Effekts

Inhaltsverzeichnis 1. Beispiel für Drag-Effekt 2....

So installieren Sie eine ISO-Datei im Linux-System

Wie installiere ich ISO-Dateien unter einem Linux...

Beispiele für einige Verwendungstipps für META-Tags in HTML

HTML-Meta-Tag HTML-Meta-Tags können verwendet wer...

JavaScript-Canvas zum Erzielen von Regentropfeneffekten

In diesem Artikelbeispiel wird der spezifische Co...

Beispielcode zur Implementierung einer QR-Code-Scanbox mit CSS

Normalerweise haben wir ein Scan-Feld, wenn wir d...

Interaktive Erlebnistrends, die 2015-2016 zum Mainstream werden

Der wichtigste Artikel zum interaktiven Design im...

So fragen Sie JSON in der Datenbank in MySQL 5.6 und darunter ab

Beim Speichern von Daten in MySQL werden manchmal...

Implementierung der K8S-Bereitstellung eines Docker-Containers

Umgebung: (Docker, K8s-Cluster), fahren Sie mit d...

Detaillierte Erklärung der Verwendung von publicPath in Webpack

Inhaltsverzeichnis Ausgabe Ausgabepfad Ausgabe.öf...

Centos7-Installation und Konfiguration von Mysql5.7

Schritt 1: Holen Sie sich die MySQL YUM-Quelle Ge...