Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Schritte der Wertübertragungsfunktion in der Vue-Dokumentation
Vue.js ist ein beliebtes JavaScript-Framework. Einer seiner großen Vorteile sind seine leistungsstarken Datenbindungsfunktionen. In Vue.js werden Daten durch Komponenten weitergeleitet. Um Daten zwischen verschiedenen Komponenten weiterzugeben, stellt Vue.js einige Wertübergabefunktionen bereit, z. B. $emit und $on. In diesem Artikel werden wir detailliert beschreiben, wie diese Funktionen zur Implementierung der Wertübertragung verwendet werden.
Bei der Entwicklung mit Vue.js müssen Sie normalerweise mehrere Komponenten verwenden, um zusammenarbeiten, um eine vollständige Anwendung zu erstellen. Daher ist die Kommunikation zwischen Komponenten sehr wichtig und sie können uns bei der Implementierung verschiedener Funktionen und Interaktionen helfen. In Vue.js gibt es zwei Möglichkeiten, zwischen Komponenten zu kommunizieren:
Bei der Kommunikation zwischen übergeordneten und untergeordneten Komponenten können Sie Requisiten und die $emit-Funktion verwenden. Bei der Kommunikation zwischen Geschwisterkomponenten kann dies mithilfe einer gemeinsamen übergeordneten Komponente erreicht werden.
$emit() ist eine sehr wichtige Wertübertragungsfunktion in Vue.js, die für die Kommunikation zwischen übergeordneten und untergeordneten Komponenten verwendet wird. Die Funktion dieser Funktion besteht darin, ein benutzerdefiniertes Ereignis von der untergeordneten Komponente an die übergeordnete Komponente zu übergeben und einige Parameter zu übergeben.
Im Folgenden sind die Schritte aufgeführt, um mit $emit() die Kommunikation zwischen übergeordneten und untergeordneten Komponenten zu implementieren:
Schritt 1: Definieren Sie eine untergeordnete Komponente und verwenden Sie die Funktion $emit(), um ein Ereignis in der Komponente auszulösen.
<template> <div> <button @click="passData">传递数据</button> </div> </template>
<script> export default { methods: { passData() { this.$emit('get-data', 'Hello Vue') } } } </script>
Im obigen Code definieren wir eine Unterkomponente und definieren darin eine Schaltfläche. Wenn auf die Schaltfläche geklickt wird, wird die Methode „passData“ ausgelöst, die die Funktion „$emit()“ verwendet, um ein Ereignis namens „get-data“ auszulösen trägt einen String-Parameter Hello Vue.
Schritt 2: Verwenden Sie die v-on-Direktive in der übergeordneten Komponente, um von der untergeordneten Komponente ausgelöste Ereignisse abzuhören, und definieren Sie eine Handlerfunktion zum Empfangen der von der untergeordneten Komponente übergebenen Parameter.
<template> <div> <child-component @get-data="getData"></child-component> <p>接收到子组件传递的数据:{{ data }}</p> </div> </template>
<script> import ChildComponent from './ChildComponent' export default { components: { ChildComponent }, data() { return { data: '' } }, methods: { getData(data) { this.data = data } } } </script>
Im obigen Code verwenden wir die v-on-Anweisung, um das Ereignis namens get-data abzuhören. Wenn die Unterkomponente das Ereignis auslöst, wird die Methode namens getData aufgerufen und die von der Unterkomponente übergebenen Parameter werden übergeben. Geben Sie die Methode an. Bei dieser Methode weisen wir den Parameter dem Datenattribut zu, um die von der untergeordneten Komponente übergebenen Daten in der übergeordneten Komponente anzuzeigen.
$on() ist eine weitere wichtige Wertübertragungsfunktion in Vue.js, die für die Kommunikation zwischen Geschwisterkomponenten verwendet wird. Die Funktion dieser Funktion besteht darin, ein benutzerdefiniertes Ereignis in der untergeordneten Komponente abzuhören und auf das Ereignis zu reagieren.
Hier sind die Schritte zum Implementieren der Kommunikation zwischen Geschwisterkomponenten mithilfe von $on():
Schritt 1: Definieren Sie eine gemeinsame übergeordnete Komponente.
<template> <div> <child-component></child-component> <another-child-component></another-child-component> </div> </template>
Im obigen Code definieren wir eine übergeordnete Komponente, die zwei untergeordnete Komponenten enthält.
Schritt 2: Verwenden Sie die Funktion $on() in der untergeordneten Komponente, um ein benutzerdefiniertes Ereignis abzuhören.
<script> export default { created() { this.$root.$on('trigger-event', this.handleEvent) }, methods: { handleEvent() { console.log('Hello Vue!') } }, destroyed() { this.$root.$off('trigger-event', this.handleEvent) } } </script>
Im obigen Code verwenden wir die erstellte Hook-Funktion, um mit dem Abhören des Ereignisses namens „trigger-event“ zu beginnen, wenn die untergeordnete Komponente erstellt wird. Beim Abhören des Ereignisses wird eine Methode namens handleEvent aufgerufen, die zur Verarbeitung des Ereignisses verwendet wird. Wir verwenden auch die Destroyed-Hook-Funktion, um den Ereignis-Listener zu entfernen, wenn die untergeordnete Komponente zerstört wird, um Speicherverluste zu vermeiden.
Schritt 3: Verwenden Sie die Funktion $emit() in einer anderen untergeordneten Komponente, um das Ereignis auszulösen.
<script> export default { methods: { triggerEvent() { this.$root.$emit('trigger-event') } } } </script>
Im obigen Code haben wir eine untergeordnete Komponente und darin eine Schaltfläche definiert. Wenn der Benutzer auf die Schaltfläche klickt, wird die Methode „triggerEvent“ aufgerufen, die mithilfe der Funktion „$emit()“ ein Ereignis namens „trigger-event“ auslöst.
In Vue.js kann durch die Verwendung der Funktionen $emit und $on eine Werteübertragung zwischen Eltern-Kind-Komponenten und Geschwisterkomponenten erreicht werden. Zuerst müssen wir die Unterkomponente definieren und mithilfe der darin enthaltenen Funktion $emit ein benutzerdefiniertes Ereignis auslösen. Als nächstes müssen wir die v-on-Direktive in der übergeordneten Komponente verwenden, um das Ereignis abzuhören und die von der untergeordneten Komponente in der Handlerfunktion übergebenen Parameter zu verarbeiten. Für die Kommunikation zwischen Geschwisterkomponenten müssen wir die Funktion $on verwenden, um ein benutzerdefiniertes Ereignis unter einer gemeinsamen übergeordneten Komponente abzuhören, und die Funktion $emit verwenden, um das Ereignis in einer anderen untergeordneten Komponente auszulösen. Diese Wertübertragungsfunktionen sind ein sehr wichtiger Bestandteil von Vue.js. Wenn wir sie beherrschen, können wir Daten besser zwischen Komponenten übertragen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte der Wertübertragungsfunktion in der Vue-Dokumentation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!