Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

Vom Vater zum Sohn:

1. Übergeben Sie im Unterkomponenten-Tag der übergeordneten Komponente: den an die Unterkomponente übergebenen Datennamen = „zu übergebende Daten“

Hier zu Ihrer Information definiere ich die Daten in der übergeordneten Komponente wie folgt: fatherData ,

Die Daten, die die untergeordnete Komponente empfangen muss, werden wie folgt definiert: sonData.

// Übergeordnete Komponente <template>
  <div Klasse="Über">
    {{vaterData}}
    <!-- Vom Vater zum Sohn-->
    <!-- 1. Übergeben Sie im Unterkomponenten-Tag der übergeordneten Komponente: den an die Unterkomponente übergebenen Datennamen = „zu übergebende Daten“ -->
    <Kinder :sonData="VaterData"></Kinder>
  </div>
</Vorlage>
 
<Skript>
Kinder aus „@/components/children“ importieren
importiere { defineComponent, reactive, toRefs } von "vue";
exportiere StandarddefiniereKomponente({
  Komponenten: {
    Kinder,
  },
Name:"Über",
aufstellen(){
  const state = reaktiv({
    VaterDaten: "hallo"
  })
  zurückkehren {
    …toRefs(Status)
  }
}
 
})
</Skript>

2. Unterkomponenten werden weiterhin über Requisiten empfangen und in Vorlagen verwendet

In den meisten Fällen werden die Daten von der übergeordneten Komponente an die untergeordnete Komponente übergeben und bestimmte Funktionen oder Anforderungsdaten werden basierend auf diesen Daten ausgeführt.

Im Setup-Hook kann der erste Parameter props auf die von der übergeordneten Komponente übergebenen Daten zugreifen. Anschließend werden die Daten in der Funktion über Folgendes verarbeitet: props. Der Name der von der übergeordneten Komponente übergebenen Daten.

Die Setup-Funktion erhält als ersten Parameter Props. Das Props-Objekt reagiert (unidirektionales übergeordnetes Element -> untergeordnetes Element). watchEffect oder watch beobachten Aktualisierungen der Props und reagieren darauf. Zerstören Sie das Requisitenobjekt nicht, da es dadurch weniger reaktionsfähig wird. Während der Entwicklung ist das Props-Objekt für den Userspace-Code unveränderlich und es wird eine Warnung ausgelöst, wenn der Benutzer versucht, Props zu ändern.

// Unterkomponente <template>
  <div Klasse="Kinder">
    <!-- 3. Verwendung in Unterkomponentenvorlagen-->
    {{sonData}}
  </div>
</Vorlage>
<Skript>
Standard exportieren {
Name:"Kinder",
// 2. Die Unterkomponente empfängt Props über props:["sonData"],
  setup(Eigenschaften){
    Funktion Kinderaber(){
      // props.sonData kann auf die von der übergeordneten Komponente übergebenen Daten zugreifen console.log(props.sonData);
    }
    zurückkehren {
      Kinderaber
    }
  }
}
</Skript>

Sohn zum Vater:

1. Die Unterkomponente löst das Ereignis über den zweiten Parameter des Setups, context.emit, aus, um eine Übertragung vom Kind zum Elternteil zu erreichen.

Kontext Kontextobjekt.

// Unterkomponente <template>
  <div Klasse="Kinder">
    {{sonData}}
    <!-- 1. Ereignis auslösen-->
    <button @click="childrenbut">Schaltfläche für untergeordnete Komponente</button>
  </div>
</Vorlage>
<Skript>
Standard exportieren {
Name:"Kinder",
  Setup (Requisiten, Kontext) {
    Funktion Kinderaber(){
      konsole.log(Kontext);
      // 2. Verwenden Sie context.emit, um Daten vom Kind an das Elternteil zu übergeben. // Der erste Parameter ist der Methodenname und der zweite Parameter sind die zu übergebenden Daten. context.emit("change",'world')
    }
    zurückkehren {
      Kinderaber,
    }
  }
}
</Skript>

Kontext kann auch in Form einer Struktur geschrieben werden

// Unterkomponente <script>
Standard exportieren {
Name:"Kinder",
  // Nach dem Übergeben der Struktur direkt emit schreiben {emit}
  setup(Eigenschaften,{emit}){
    Funktion Kinderaber(){
      // Context.emit weglassen
      emittieren("ändern","Welt")
    }
    zurückkehren {
      Kinderaber,
    }
  }
}
</Skript>

Zusammenfassen

In vue3 ist es, egal ob es sich um Eltern-zu-Kind oder Kind-zu-Eltern handelt, tatsächlich dasselbe wie in vue2.

Die Ideen sind größtenteils gleich, aber der Unterschied besteht darin, dass vue3 verschiedene Hooks aufrufen muss, um Parameter zu übergeben

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Werteübertragung von Vue-Eltern-Kind-Komponenten und der Probleme beim unidirektionalen Datenfluss
  • Gegenseitiger Wertetransfer und Aufruf von Vue-Eltern-Kind-Komponenten
  • Detaillierte Erläuterung der sieben Wertübertragungsmethoden von Vue
  • Einige Fallstricke bei der Wertübertragung von Vue-Eltern-Kind-Komponenten
  • Beispiel für die Übergabe von Werten zwischen untergeordneten Vue-Komponenten und übergeordneten Komponenten
  • Vue: Wertübertragung zwischen Vater und Sohn, Wertübertragung zwischen Bruder und Kind, detaillierte Erläuterung

<<:  Saubere XHTML-Syntax

>>:  Erstellen einer verteilten Selenium-Umgebung basierend auf Docker

Artikel empfehlen

Ausführliche Erklärung zu Sitzung und Cookie in Tomcat

Vorwort HTTP ist ein zustandsloses Kommunikations...

Einführung und Verwendungszusammenfassung der negativen Margenfunktion

Bereits in den CSS2-Empfehlungen von 1998 verschwa...

So fügen Sie Codebeispiele für die Vim-Implementierung in Power Shell hinzu

1. Gehen Sie zur offiziellen Website von Vim, um ...

Zusammenfassung zum Erlernen von HTML-Tags und Grundelementen

1. Elemente und Tags in HTML <br />Ein Elem...

Detaillierte Erklärung des Prinzips zum Erstellen von Tomcat in Eclipse

Beim Erstellen eines Tomcat-Servers auf einem lok...

MySQL-Schleife fügt zig Millionen Daten ein

1. Erstellen Sie eine Testtabelle Tabelle `mysql_...

Rundungsvorgang des Datums-/Uhrzeitfelds in MySQL

Inhaltsverzeichnis Vorwort 1. Hintergrund 2. Simu...

Prototyp und Prototypenkette Prototyp und Protodetails

Inhaltsverzeichnis 1. Prototyp 2. Prototypenkette...

Löschvorgang für Docker-Volumes

prune Um diesen Befehl verwenden zu können, müsse...