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

Neues CSS3-Layout: ausführliche Flex-Erklärung

Flex-Grundkonzepte Flex-Layout (Flex ist die Abkü...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5.27 winx64

1. Installationspaket MySQL-Dienst-Downloadadress...

So beheben Sie Dateisystemfehler in Linux mit „fsck“

Vorwort Das Dateisystem ist für die Organisation ...

Tipps zur Verwendung von DIV-Containern mit fester Höhe in IE6 und IE7

Es gibt viele Unterschiede zwischen IE6 und IE7 in...

CSS: besuchte geheime Erinnerungen des Pseudoklassenselektors

Gestern wollte ich a:visited verwenden, um die Fa...

Tutorial zur Nginx-Standortkonfiguration von Grund auf

Grundlagen Die Reihenfolge der Standortübereinsti...

MySQL-Sharding-Details

1. Einführung in das Geschäftsszenario Angenommen...

JavaScript+HTML zur Implementierung eines Studenteninformationsmanagementsystems

Inhaltsverzeichnis 1. Einleitung 2. Rendern 3. Co...

Beim Website-Design sollte auf die Farbhierarchie geachtet werden

Ich habe kürzlich gesagt, dass Design ein Gefühl d...

mysql installer web community 5.7.21.0.msi grafik-tutorial zur installation

In diesem Artikelbeispiel wird der spezifische Co...

CSS-Menüschaltflächenanimation

Um ein Dropdown-Menü zu schreiben, klicken Sie au...