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

Beispiel für eine dynamische Sperre der IP-Blacklist von Nginx

Wenn eine Website böswillig angefragt wird, ist d...

Zentrieren des Formulars in HTML

Ich bin einmal auf eine Aufgabe gestoßen, bei der...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18 (Linux)

Dieser Artikel zeichnet das grafische Tutorial zu...

CentOS 7.9 Installations- und Konfigurationsprozess von zabbix5.0.14

Inhaltsverzeichnis 1. Grundlegende Umgebungskonfi...

jQuery ermöglicht nahtloses Scrollen von Tabellen

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel-Tutorial zur JavaScript-Typerkennungsmethode

Vorwort JavaScript ist eine der am häufigsten ver...

Detailliertes Tutorial zur Installation von mysql5.7.21 unter Windows

In diesem Artikel finden Sie das Installations-Tu...

So schreiben Sie ein MySQL-Sicherungsskript

Vorwort: Die Bedeutung einer Datenbanksicherung l...

JS implementiert Städtelisteneffekt basierend auf VUE-Komponente

In diesem Artikelbeispiel wird der spezifische Co...