Schritte für Vue3 zur Verwendung von Mitt für die Komponentenkommunikation

Schritte für Vue3 zur Verwendung von Mitt für die Komponentenkommunikation
  • Vue2.x verwendet EventBus für die Komponentenkommunikation, während Vue3.x die Verwendung von mitt.js empfiehlt.
  • Was ist der Vorteil von mitt.js gegenüber EventBus auf Vue-Instanzen? Erstens ist es klein genug, nur 200 Bytes. Zweitens unterstützt es die Überwachung und Stapelentfernung aller Ereignisse. Es ist nicht auf die Vue-Instanz angewiesen und kann daher Framework-übergreifend verwendet werden. React oder Vue und sogar jQuery-Projekte können dieselbe Bibliothek verwenden.

1. Installation

Es wird empfohlen, die Garninstallation zu verwenden (jeder, der sie verwendet hat, weiß, wie reibungslos sie ist).

Garn hinzufügen Fausthandschuh

Oder über npm installieren

npm install --save mitt

2. Ins Projekt importieren und mounten

Kann global in main.js eingebunden werden

// Standardmäßige modulare ES-Importmethode importiere mitt von 'mitt'

const app = createApp(App)

// Die globale Instanz von vue3.x sollte auf config.globalProperties gemountet werden app.config.globalProperties.$EventBus = new mitt()

/common/EventBus.js : Sie können auch ein ES-Modul kapseln und eine Mitt-Instanz der Außenwelt zugänglich machen

Fausthandschuh aus 'Fausthandschuh' importieren
exportiere standardmäßig neuen Handschuh()

/views/Home.vue : Das Business-Modul wird zur Verwendung eingeführt

importiere EventBus aus „/common/EventBus.js“

3. Nutzung

Auslösen über Listener/Emit

/*
 * App.vue
 */
// Dies ist im Setup nicht vorhanden. Sie müssen getCurrentInstance verwenden, um die Vue-Instanz zu erhalten. import { getCurrentInstance } von „vue“.
importiere { Mp3Player } aus '/common/Mp3Player.js'

Standard exportieren {
  aufstellen(){
    // ctx entspricht dem hier in Vue2.x
    const { ctx } = getCurrentInstance()
    
    // Hören Sie zu – wenn es eine neue Aufgabe gibt, spielen Sie den Soundeffekt ab ctx.$EventBus.on('newTask', data => {
      Mp3Player.abspielen()
    })

    // Sie können alle Aufgaben auch über *ctx.$EventBus.on('*', data => { abhören.
      console.log('EventBus kommt rein', Daten)
    })
  }
}


/*
 * Steuerung.vue
 */
// Wenn eine neue Aufgabe erkannt wird, lösen Sie ctx.$EventBus.emit('newTask', data) aus.

aus entfernen Ereignis

importieren {
    vor dem Aushängen,
    Aktuelle Instanz abrufen
  } von 'vue'

Standard exportieren {
  aufstellen(){
    const { ctx } = getCurrentInstance()

    beiVorUnmount(() => {
      // Entferne das angegebene Ereignis ctx.$EventBus.off('newTask')

      // Alle Ereignisse entfernen ctx.$EventBus.all.clear()
    })
  }
}

Oben sind die Einzelheiten der Schritte aufgeführt, mit denen Vue3 Mitt für die Komponentenkommunikation verwendet. Weitere Informationen zur Verwendung von Mitt für die Komponentenkommunikation in Vue3 finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Kommunikation zwischen nicht übergeordneten und untergeordneten Komponenten in Vue3
  • Details zu 7 Arten der Komponentenkommunikation in Vue3
  • Vue3.x verwendet mitt.js für die Komponentenkommunikation
  • Zusammenfassung und Beispiele der Kommunikationsmethoden für Vue3-Komponenten

<<:  mysql5.7.21 UTF8-Kodierungsproblem und -Lösung in der Mac-Umgebung

>>:  Die perfekte Lösung für den häufig auftretenden Startfehler bei MySQL mit unzureichendem Arbeitsspeicher

Artikel empfehlen

Das schnellste Textsuchtool von Linux: ripgrep (die beste Alternative zu grep)

Vorwort Apropos Textsuchtools: Jeder sollte grep ...

So entfernen Sie die Trennlinie einer Webseitentabelle

<br />So entfernen Sie die Trennlinien einer...

So stellen Sie eine Verbindung zum MySQL-Visualisierungstool Navicat her

Nach der Installation von Navicat Der folgende Fe...

Beispiel für die Implementierung des TikTok-Textschütteleffekts mit CSS

In der täglichen Entwicklung streiten sich Front-...

Zusammenfassung der Linux-Befehlsmethoden zum Anzeigen verwendeter Befehle

Im System werden viele Befehle verwendet. Wie kön...

Fehlerbehebung bei MySQL-Datenverlust

Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...

MySQL-Vorkompilierung in einem Artikel verstehen

1. Vorteile der Vorkompilierung Wir haben alle di...

TypeScript-Aufzählungstyp

Inhaltsverzeichnis 1. Übersicht 2. Digitale Aufzä...

Konfiguration der primären Netzwerk-Portzuordnung für Docker

Portzuordnung Wenn vor dem Start des Docker-Conta...

So beheben Sie den Startfehler des Docker-Containers

Frage: Nach dem Neustart des Computers kann der M...

Zusammenfassung der Methoden zur Änderung von MySQL-Passwörtern

Methoden zum Ändern von Passwörtern vor MySQL 5.7...