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

Allgemeine Benennungsregeln für CSS-Klassen und IDs

Öffentlicher Name der Seite: #wrapper - - Der äuß...

So implementieren Sie mehrere Parameter in el-dropdown in ElementUI

Aufgrund der zunehmenden Anzahl von Schaltflächen...

Eine kurze Diskussion über den gesamten Prozess des ersten Renderings von Vue

Inhaltsverzeichnis 1. Vue-Initialisierung Vue-Ein...

Detaillierte Erläuterung der Wissenspunkte zu Linux-Dateivorgängen

Verwandte Systemaufrufe für Dateioperationen erst...

Implementierung der Fastdfs+Nginx-Clusterkonstruktion

1. Einführung in Fastdfs 1. Was ist Fastdfs? Fast...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Mehrere häufig verwendete Single-Page-Anwendungswebsite-Sharing

CSS3Bitte Schauen Sie sich diese Website selbst a...