Seit der Geburt von vue3 ist viel Zeit vergangen und der Autor hat erst vor kurzem begonnen, vue3 zu lernen. Im Vergleich zu Vue2 hat Vue3 beim Schreiben erhebliche Änderungen erfahren. Das typischste Beispiel ist, dass Vue3 die Datenreaktionsfähigkeit über Ref oder Reactive implementiert. Aufgrund des Aufkommens von Ref und Reactive hat sich auch die Art und Weise der Werteübergabe zwischen übergeordneten und untergeordneten Komponenten in Vue3 geändert. Schauen wir uns zunächst an, wie man es in vue2 schreibt Übergeordnete Komponente: <!-- Übergeordnete Komponente --> <Vorlage> <div> <Kinder :title="Titel" @getChildren="getChildren"></Kinder> <div>Unterkomponente sagt: {{ childrenAsk }}</div> </div> </Vorlage> <Skript> Kinder aus „./children.vue“ importieren Standard exportieren { Daten() { zurückkehren { Titel: „Ich bin der von der übergeordneten Komponente übergebene Wert“, KinderFragen: "" } }, Methoden: { getChildren(Wert) { this.childrenAsk = Wert } } } </Skript> Unterkomponenten: <!-- Untergeordnete Komponente --> <Vorlage> <div> <div>Von der übergeordneten Komponente übergebener Wert: {{ title }}</div> <button @click="askToFather">Klicken, um an die übergeordnete Komponente zu senden</button> </div> </Vorlage> <Skript> Standard exportieren { Requisiten: { Titel: Typ: Zeichenfolge } }, Daten() { zurückkehren { askMsg: „Das habe ich der übergeordneten Komponente gesagt“ } }, Methoden: { fragDenVater() { dies.$emit("getChildren", dies.askMsg) } } } </Skript> In vue2 wird die Wertübertragung von der untergeordneten Komponente zur übergeordneten Komponente über this.$emit implementiert, in vue3 gibt es dies jedoch nicht. In vue3 sind sowohl Daten als auch Funktionen im Setup gekapselt. Wie implementiert vue3 dies also? Wir wissen, dass das Setup in vue3 zwei Parameter erhält. Der erste Parameter ist props, also der Props-Wert, der von der übergeordneten Komponente an die untergeordnete Komponente übergeben wird. Der zweite Wert ist context, der das aktuelle Kontextobjekt darstellt. Da wir dies nun wissen, können wir die Wertübertragung von der übergeordneten zur untergeordneten Komponente von vue3 implementieren. Die Eltern-Kind-Vererbung in Vue3 ist die gleiche wie die Eltern-Kind-Vererbung in Vue2. Ich werde nicht noch einmal näher darauf eingehen. Der Fokus liegt im Folgenden auf der Kind-Eltern-Vererbung in Vue3. Übergeordnete Komponente <Vorlage> <div style="color: aqua">Übergeordnete Komponente</div> <div>Die untergeordnete Komponente sagt mir: {{ children_msg }}</div> <Kinder :title="msg" @listen="listenToChildren"></Kinder> {{ Wert }} </Vorlage> <script lang="ts"> Importiere untergeordnete Elemente aus „@/views/component_emit/children.vue“ importiere { defineComponent, ref } von "vue" exportiere StandarddefiniereKomponente({ Komponenten: Kinder, }, Name: "Vater", aufstellen() { let msg = "Ich bin die übergeordnete Komponente" let children_msg = ref("") // Die Funktion von ref besteht darin, Reaktionsfähigkeit zu implementieren. Wenn kein ref vorhanden ist, kann Reaktionsfähigkeit nicht implementiert werden (Referenzdatentypen verwenden reaktiv). listenToChildren = (Wert) => { children_msg.value = val // Um von ref umschlossene Daten zu verwenden, müssen Sie auf deren Wert in der Form .value zugreifen} zurückkehren { Nachricht, Kindernachricht, listenToChildren, } }, }) </Skript> <Stil></Stil> Unterkomponenten: <Vorlage> <div style="color: brown">Unterkomponenten</div> <!-- Die Methode der Eltern-Kind-Übertragung ist dieselbe wie bei vue2--> <div>Der von der übergeordneten Komponente übergebene Wert lautet: {{ title }}</div> <button @click="sayToFather">Mit der übergeordneten Komponente sprechen</button> </Vorlage> <script lang="ts"> importiere { defineComponent } von "vue" exportiere StandarddefiniereKomponente({ Name: "Kinder", Requisiten: { Titel: Typ: Zeichenfolge, }, }, setup(Eigenschaften, Kontext) { // Der Zweck des Kontexts besteht darin, das Kontextobjekt zu erhalten. // Wenn setup als setup(props, { emit }) geschrieben wird, kann der folgende Kontext weggelassen werden const sayToFather = () => { const ask = "Ich bin eine untergeordnete Komponente, ich spreche mit der übergeordneten Komponente" Kontext.emit("zuhören", fragen) } zurückkehren { sagZuVater, } }, }) </Skript> <Stil></Stil> ZusammenfassenDieser 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:
|
<<: Lösung für den von Mysql systemctl start mysqld gemeldeten Fehler
Sinnvolle Einstellung des MySQL sql_mode sql_mode...
Inhaltsverzeichnis js aufrufende Methode Android ...
Inhaltsverzeichnis Vorwort Funktionale React-Komp...
1. Es muss die InnoDB-Speicher-Engine verwendet w...
--Beim Verbinden mit der Datenbank die Matching-R...
Vorwort Nur Innodb- und MyISAM-Speicher-Engines k...
Installieren Filebeat hat Logstash-Forwarder voll...
Wenn wir den Inhalt einer archivierten oder kompr...
Beschreibung der HTML-Meta-Viewport-Attribute Was...
1. Experimentelle Umgebung Seriennummer Projekt S...
In diesem Artikelbeispiel wird der spezifische JS...
Simulationstabellen und Datenskripte Kopieren Sie...
Das Telnet im Alpine-Image wurde nach Version 3.7...
Die Datenbank fragt ab, welches Objekt welche Fel...
FTP und SFTP werden häufig als Dateiübertragungsp...