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
Anwendungsszenario 1: Domänennamenbasierte Umleit...
Kürzlich bin ich auf die Anforderung gestoßen, Te...
【1】existiert Verwenden Sie eine Schleife, um die ...
Awk ist eine Anwendung zur Verarbeitung von Textd...
Da ich MySQL schon so lange verwende, glaube ich,...
Vorwort tcpdump ist ein bekanntes Befehlszeilento...
Die Riddle-Sicherheitslücke, die auf die MySQL-Ve...
In letzter Zeit habe ich jeden Tag an meinen Absch...
Apache Log4j2 meldete eine Sicherheitslücke auf n...
brauchen: Identische Elemente eines Feldes zusamm...
Vorwort: In Vue können Props verwendet werden, um...
Notieren Sie die Installations- und Konfiguration...
1. Effekt der Listenabfrageschnittstelle Bevor wi...
Async Hooks ist eine neue Funktion von Node8. Sie...
Hintergrund Kürzlich habe ich während eines Onlin...