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

Zwei Möglichkeiten zur Implementierung von Square Div mit CSS

Ziel: Erstelle ein Quadrat, dessen Seitenlänge gl...

Einführung in den Installationsprozess von MySQL 8.0 in einer Linux-Umgebung

Inhaltsverzeichnis Vorwort 1. Linux ändert die Yu...

Die Tücken der automatischen Inkrementierung numerischer MySQL-Typen

Beim Entwurf von Tabellenstrukturen gehören numer...

Detaillierte Erläuterung des Fehlerproblems der Case-When-Anweisung

Vorwort In der MySQL-Datenbank verwenden wir manc...

Das Installationstutorial zu mysql5.5.28 ist super detailliert!

mysql5.5.28 Installations-Tutorial zu Ihrer Infor...

Detaillierte Erklärung des Parameters slave_exec_mode in MySQL

Heute habe ich zufällig den Parameter slave_exec_...

Einführung in MySQL-Anweisungskommentare

MySQL unterstützt drei Arten von Kommentaren: 1. ...

Detaillierte Erläuterung der häufig verwendeten Filter von Tomcat

Inhaltsverzeichnis 1. Domänenübergreifender Filte...

So implementieren Sie die JavaScript-Ausgabe der Fibonacci-Folge

Inhaltsverzeichnis Thema analysieren Basislösung ...

Ein kurzes Verständnis der drei Prinzipien zum Hinzufügen von MySQL-Indizes

1. Die Bedeutung von Indizes Indizes werden verwe...

Vite2.0 Fallstricke

Inhaltsverzeichnis Optimierung des Vite-Projektau...