Detaillierte Erklärung zur Verwendung von $emit in Vue.js

Detaillierte Erklärung zur Verwendung von $emit in Vue.js

1. Übergeordnete Komponenten können Props verwenden, um Daten an untergeordnete Komponenten zu übergeben.

2. Untergeordnete Komponenten können $emit verwenden, um benutzerdefinierte Ereignisse übergeordneter Komponenten auszulösen.

vm.$emit(event, arg) //Löse das Ereignis auf der aktuellen Instanz aus

vm.$on( event, fn ); //Führen Sie fn aus, nachdem Sie auf das Ereignis gewartet haben;

Beispiel: Unterkomponente:

<Vorlage>
  <div Klasse="Zug-Stadt">
    <h3>ToCity wurde von der übergeordneten Komponente an die untergeordnete Komponente übergeben:{{sendData}}</h3> 
    <br/><button @click='select(`Dalian`)'>Klicken Sie hier, um „Dalian“ an die übergeordnete Komponente auszugeben</button>
  </div>
</Vorlage>
<Skript>
  Standard exportieren {
    Name:'ZugStadt',
    props:['sendData'], // Wird verwendet, um Daten zu empfangen, die von der übergeordneten Komponente an die untergeordnete Komponente übergeben werden methods:{
      wähle(Wert) {
        lass Daten = {
          Stadtname: val
        };
        this.$emit('showCityName',data);//Nachdem das Select-Ereignis ausgelöst wurde, wird das ShowCityName-Ereignis automatisch ausgelöst}
    }
  }
</Skript>

Übergeordnete Komponente:

<Vorlage>
    <div>
        <div>toCity{{toCity}} der übergeordneten Komponente</div>
        <Zugstadt @showCityName="updateCity" :sendData="anStadt"></Zugstadt>
    </div>
<Vorlage>
<Skript>
  importiere TrainCity aus "./train-city";
  Standard exportieren {
    Name: „Index“,
    Komponenten: {TrainCity},
    Daten () {
      zurückkehren {
        toCity:"Peking"
      }
    },
    Methoden:{
      updateCity(data){//Löst das Ereignis „Städteauswahl-Auswahl der untergeordneten Komponente“ aus this.toCity = data.cityname;//Ändert den Wert der übergeordneten Komponente console.log('toCity:'+this.toCity)
      }
    }
  }
</Skript>

Abbildung 1: Klicken Sie auf die vorherigen Daten

Abbildung 2: Daten nach dem Klicken

Dies ist das Ende dieses Artikels über die detaillierte Fallstudie zur Verwendung von $emit in Vue.js. Weitere relevante Inhalte zur Verwendung von $emit in Vue.js 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:
  • Vue.js+Boostrap-Projektpraxis (detaillierte Fallerklärung)
  • Vue.js implementiert Erläuterungen zum Tab-Umschalten und Farbwechseln
  • Detaillierte Erklärung zur Verwendung von Scoped Slots in Vue.js-Slots
  • Vue.js implementiert Kalenderfunktion
  • Vue.js implementiert eine Timeline-Funktion
  • Vue.js verwaltet die Kapselung von Hintergrundtabellenkomponenten
  • Ideen und Praxis einer mehrsprachigen Lösung für ein Vue.js-Frontend-Projekt
  • 10 Best Practices zum Erstellen und Warten großer Vue.js-Projekte

<<:  Lösen Sie das Problem von qt.qpa.plugin: Das Qt-Plattform-Plugin "xcb" konnte in Qt unter Ubuntu 18.04 nicht geladen werden

>>:  So lösen Sie das Problem, dass das Kennwort nach dem Dekomprimieren der kostenlosen MySQL-Installationsversion nicht gefunden wird

Artikel empfehlen

Detaillierte Erläuterung des Mysql-Kommunikationsprotokolls

1.Mysql-Verbindungsmethode Um das MySQL-Kommunika...

Konfigurieren Sie ein Implementierungsbeispiel für den Mysql-Master-Slave-Dienst

Konfigurieren Sie ein Implementierungsbeispiel fü...

Zusammenfassung der praktischen Methoden von CSS3 (empfohlen)

1. Abgerundeter Rand: CSS- CodeInhalt in die Zwis...

So überspringen Sie Fehler bei der MySQL-Master-Slave-Replikation

1. Traditionelle Binlog-Master-Slave-Replikation,...

Lösung für das Fehlen der my.ini-Datei in MySQL 5.7

Was ist my.ini? my.ini ist die in der MySQL-Daten...

Detaillierte Erklärung des Prinzips und der Verwendung von MySQL-Ansichten

Dieser Artikel veranschaulicht anhand von Beispie...

MySQL 8.0 DDL-Atomaritätsfunktion und Implementierungsprinzip

1. Übersicht über die Atomizität von DDL Vor 8.0 ...