1. Übergeordnete Komponente übergibt Wert an untergeordnete Komponente (Props)Schritt:
<div id="app"> <!-- 1. Daten über v-bind an untergeordnete Komponenten weitergeben --> <test v-bind:ss='name'></test> </div> <Skript> var a = neuer Vue({ el:'#app', Daten:{ Name: „bing“, }, Komponenten: prüfen:{ props: ['ss'], // 2. Empfangen Sie die von der übergeordneten Komponente übergebenen Daten template: "<p>{{ss}}</p>" } } }) </Skript> Props erstellt einen 2. Unterkomponenten übergeben Werte an übergeordnete Komponenten ($emit) Die untergeordnete Komponente sendet über das Ereignis Schritt:
<div id="app"> <p>{{ insgesamt }}</p> <button-counter v-on:increment="incrementTotal"></button-counter> <!-- Schritt 3 --> </div> <Skript> Vue.component('Schaltflächenzähler', { Vorlage: '<button v-on:click="increment">{{ counter }}</button>', // Schritt 1 Daten: Funktion () { zurückkehren { Zähler: „Unterkomponentendaten“ } }, Methoden: { Inkrement: Funktion () { this.$emit('increment', this.counter); // Schritt 2 } } }); neuer Vue({ el: '#app', Daten: { total: 'Daten der übergeordneten Komponente:' }, Methoden: { incrementTotal: Funktion (e) { // Schritt 4 dies.gesamt = dies.gesamt + e[0] konsole.log(e); } } }) </Skript> 3. Brother-Komponentenwertübertragung (EventBus)Wenn Sie für die Datenkommunikation zwischen Komponenten keine Bibliothek wie Vuex benötigen, können Sie für die Kommunikation den EventBus in Vue verwenden . In Vue kann Mit dieser Methode wird eine leere Vue-Instanz als Verarbeitungszentrum (Ereignisbus) des $emit-Ereignisses erstellt, über das Ereignisse ausgelöst und abgehört werden können. Außerdem wird bequem die Kommunikation zwischen allen Komponenten realisiert, einschließlich übergeordneten und untergeordneten Komponenten, Geschwisterkomponenten und Komponenten zwischen Generationen. Die Einzelheiten lauten wie folgt: 1. Initialisierung (new Vue()) Zuerst müssen Sie den Ereignisbus erstellen und exportieren, damit andere Module ihn verwenden oder abhören können. Methode 1: Erstellen Sie eine neue Datei // event-bus.js Vue von „vue“ importieren exportiere const EventBus = neuer Vue() Methode 2: EventBus direkt in // Haupt.js Vue.prototype.$EventBus = new Vue() // Hinweis: Auf diese Weise initialisierter EventBus ist ein globaler Eventbus Nachdem wir nun 2. Senden von Ereignissen ($emit())Angenommen, es gibt zwei Vue-Seiten, die kommunizieren müssen: A und B. Auf Seite A ist ein Klickereignis an die Schaltfläche gebunden und eine Nachricht wird gesendet, um Seite B zu benachrichtigen. <!-- A.vue --> <Vorlage> <button @click="sendMsg()">-</button> </Vorlage> <Skript> importiere { EventBus } aus "../event-bus.js"; Standard exportieren { Methoden: { sendMsg() { EventBus.$emit("aMsg", 'Nachricht von Seite A'); // Daten extern senden} } }; </Skript> 3. Ereignisse empfangen ($on())Als Nächstes müssen Sie diese Nachricht auf Seite B erhalten. <!-- B.vue --> <Vorlage> <p>{{msg}}</p> </Vorlage> <Skript> importiere { EventBus } aus "../event-bus.js"; Standard exportieren { Daten() { zurückkehren { Nachricht: '' } }, montiert() { EventBus.$on("aMsg", (msg) => { // Empfange die von A gesendete Nachricht this.msg = msg; }); } }; </Skript> 4. Entfernen Sie Ereignis-ListenerWie bereits erwähnt, kann EventBus bei unsachgemäßer Verwendung eine Katastrophe sein. Um welche Art von „Katastrophe“ handelt es sich? Jeder weiß, dass Vue eine Einzelseitenanwendung ist. Wenn Sie eine Seite aktualisieren, wird der zugehörige EventBus entfernt, was dazu führt, dass das Geschäft gestoppt wird. Wenn das Unternehmen außerdem über Seiten verfügt, die wiederholt betrieben werden, wird EventBus bei der Überwachung viele Male ausgelöst, was ebenfalls eine sehr große versteckte Gefahr darstellt. Zu diesem Zeitpunkt müssen wir die Beziehung zwischen EventBus und dem Projekt ordnungsgemäß handhaben. Es wird normalerweise verwendet, um EventBus-Ereignislistener zu entfernen, wenn die Vue-Seite zerstört wird. Wenn Sie den Ereignislistener entfernen möchten, können Sie dies folgendermaßen tun: importiere { EventBus } aus "../event-bus.js"; EventBus.$off('aMsg', {})
4. VuexBeim Erstellen mittlerer bis großer Einzelseitenanwendungen, z. B. solcher, die eine kollaborative Entwicklung durch mehrere Personen und eine globale Verwaltung des Anmeldestatus erfordern, wählen Sie für die Statusverwaltung am besten Vuex. Vuex-Portal mit ausführlichen Erklärungen Dies ist das Ende dieses Artikels über die Fallzusammenfassung der Kommunikationsmethoden von Vue-Komponenten. Weitere relevante Zusammenfassungen der Kommunikationsmethoden von Vue-Komponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Schritte zum Konfigurieren des Tomcat-Servers in IDEA 2020
>>: Detaillierte Erklärung der MySQL-Partitionstabelle
Inhaltsverzeichnis Was ist Abflachung? Rekursion ...
Der Parameter innodb_autoinc_lock_mode steuert da...
Vorwort HTTP und HTTPS In unserem täglichen Leben...
Offizielle Dokumentation: JSON-Funktionen Name Be...
Heute haben wir ein weiteres typisches Problem im...
Bei der tatsächlichen Webentwicklung ist für das ...
Inhaltsverzeichnis Saltstack stellt Zabbix-Dienst...
1. Was ist ein virtueller Host? Virtuelle Hosts v...
Das Shell-Skript richtet die Zugriffskontrolle ei...
CSS enthält viele Attribute. Manche Attribute wer...
Ich weiß nicht, ob Sie schon einmal in eine solch...
Verwendung von „haben“ Mit der Having-Klausel kön...
CSS (Cascading Style Sheet) wird zum Verschönern ...
Inhaltsverzeichnis Vermeiden Sie sich wiederholen...
In diesem Artikelbeispiel wird der spezifische Co...