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

Ubuntu 20.04: Beispiel zum Ändern der IP-Adresse

veranschaulichen: Als ich heute das letzte Experi...

Der Unterschied zwischen Vue-Interpolationsausdruck und V-Text-Direktive

Inhaltsverzeichnis 1. Verwenden Sie Plugin-Ausdrü...

Erkunden Sie die gängigen VMware ESXI CLI-Befehle

Inhaltsverzeichnis 【Allgemeine Befehle】 [Zusammen...

Beispiel für eine MySQL-Datenbank-übergreifende Transaktions-XA-Operation

In diesem Artikel wird die MySQL-Datenbank-übergr...

So ändern Sie den Standardzeichensatz von MySQL auf dem MAC auf UTF-8

1. Überprüfen Sie den Zeichensatz des standardmäß...

Fallstricke und Lösungen bei der MySQL-Zeitstempelvergleichsabfrage

Inhaltsverzeichnis Fallstricke bei Zeitstempelver...

Tutorial zur manuellen Installation und Konfiguration von mysql8.0.11 winx64

Lassen Sie mich zunächst über meinen Alltag sprec...

Tiefgreifendes Verständnis des Javascript-Klassenarrays

js-Arrays sind wahrscheinlich jedem bekannt, da s...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...

Implementierung der K8S-Bereitstellung eines Docker-Containers

Umgebung: (Docker, K8s-Cluster), fahren Sie mit d...