Heim Web-Frontend View.js Programmiertipps und Vorsichtsmaßnahmen für die Vue-Komponentenkommunikation

Programmiertipps und Vorsichtsmaßnahmen für die Vue-Komponentenkommunikation

Jul 18, 2023 pm 08:02 PM
注意事项 编程技巧 vue组件通讯

Programmiertipps und Vorsichtsmaßnahmen für die Vue-Komponentenkommunikation

Vue.js ist ein beliebtes JavaScript-Framework. Aufgrund seiner Einfachheit, Benutzerfreundlichkeit und leistungsstarken Datenbindungsfunktionen entscheiden sich immer mehr Entwickler für die Verwendung von Vue zur Entwicklung von Front-End-Anwendungen. Im Entwicklungsprozess von Vue ist die Komponentenkommunikation ein sehr wichtiges Thema. Eine gute Komponentenkommunikation kann die Entwicklungseffizienz und die Wartbarkeit des Codes verbessern. In diesem Artikel werden einige Programmierkenntnisse und Vorsichtsmaßnahmen für die Vue-Komponentenkommunikation vorgestellt.

1. Eltern-Kind-Komponentenkommunikation
In Vue ist die Eltern-Kind-Komponentenkommunikation die gebräuchlichste Methode. Die übergeordnete Komponente übergibt Daten über Requisiten an die untergeordnete Komponente, und die untergeordnete Komponente übergibt Daten über Ereignisse an die übergeordnete Komponente.

1. Verwenden Sie Requisiten, um Daten zu übergeben

Übergeordnete Komponenten können Daten über Requisiten an untergeordnete Komponenten weitergeben. Untergeordnete Komponenten können von übergeordneten Komponenten übergebene Daten empfangen und Rendering- oder andere Vorgänge ausführen.

// 父组件
<template>
  <div>
    <child-component :message="message" />
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: 'Hello Vue!'
    }
  }
}
</script>

// 子组件
<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: ['message']
}
</script>
Nach dem Login kopieren

Im obigen Code übergibt die übergeordnete Komponente message über Requisiten an die untergeordnete Komponente, und die untergeordnete Komponente verwendet die Option props, um die empfangenen Eigenschaften zu deklarieren. message传递给子组件,子组件使用props选项声明接收的属性。

2.使用事件传递数据

子组件可以通过$emit方法触发一个自定义事件,并将数据传递给父组件。父组件可以通过v-on监听子组件触发的事件,并获取传递过来的数据。

// 子组件
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
export default {
  methods: {
    handleClick() {
      this.$emit('my-event', 'Hello Parent!')
    }
  }
}
</script>

// 父组件
<template>
  <div>
    <child-component @my-event="handleEvent" />
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    handleEvent(message) {
      console.log(message)
    }
  }
}
</script>
Nach dem Login kopieren

在上述代码中,子组件通过this.$emit方法触发my-event事件,并将数据'Hello Parent!'传递给父组件。父组件使用v-on监听my-event事件,并调用相应的方法处理事件。

二、非父子组件通讯
除了父子组件通讯,有时我们还需要在非父子组件之间进行通讯。常用的方法有使用Vue实例作为中央事件总线或使用Vuex进行状态管理。

1.使用Vue实例作为中央事件总线

可以创建一个Vue实例作为中央事件总线,子组件通过该实例触发事件,其他组件通过监听事件接收数据。

// EventBus.js
import Vue from 'vue';
export const EventBus = new Vue();

// 子组件A
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
import { EventBus } from './EventBus.js';

export default {
  methods: {
    handleClick() {
      EventBus.$emit('my-event', 'Hello!')
    }
  }
}
</script>

// 子组件B
<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import { EventBus } from './EventBus.js';

export default {
  data() {
    return {
      message: ''
    }
  },
  mounted() {
    EventBus.$on('my-event', (message) => { 
      this.message = message;
    })
  }
}
</script>
Nach dem Login kopieren

在上述代码中,我们创建了一个名为EventBus的Vue实例,并通过该实例实现子组件之间的通讯。子组件A通过EventBus.$emit触发自定义事件my-event,子组件B通过EventBus.$on监听my-event事件,并更新数据。

2.使用Vuex进行状态管理

Vuex是Vue官方提供的一个状态管理库。可以使用Vuex来管理应用的状态并实现组件之间的通讯。

// store.js
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    message: ''
  },
  mutations: {
    setMessage(state, message) {
      state.message = message;
    }
  },
  actions: {
    updateMessage({ commit }, message) {
      commit('setMessage', message);
    }
  },
  getters: {
    getMessage(state) {
      return state.message;
    }
  }
});

// 子组件A
<template>
  <button @click="handleClick">点击我触发事件</button>
</template>

<script>
import { mapActions } from 'vuex';

export default {
  methods: {
    ...mapActions(['updateMessage']),
    handleClick() {
      this.updateMessage('Hello Vuex!');
    }
  }
}
</script>

// 子组件B
<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import { mapGetters } from 'vuex';

export default {
  computed: {
    ...mapGetters(['getMessage']),
    message() {
      return this.getMessage;
    }
  }
}
</script>
Nach dem Login kopieren

在上述代码中,我们使用Vuex创建了一个store,包含了statemutationsactionsgetters。子组件A通过mapActions辅助函数调用updateMessage方法更新message的值。子组件B通过mapGetters辅助函数获取message

2. Verwenden Sie Ereignisse, um Daten zu übergeben

Eine untergeordnete Komponente kann über die Methode $emit ein benutzerdefiniertes Ereignis auslösen und die Daten an die übergeordnete Komponente übergeben. Die übergeordnete Komponente kann über v-on die von der untergeordneten Komponente ausgelösten Ereignisse abhören und die übergebenen Daten abrufen.
    rrreee
  1. Im obigen Code löst die untergeordnete Komponente das Ereignis my-event über die Methode this.$emit aus und sendet die Daten 'Hallo Eltern!' Wird an die übergeordnete Komponente übergeben. Die übergeordnete Komponente verwendet v-on, um das Ereignis my-event abzuhören und ruft die entsprechende Methode auf, um das Ereignis zu verarbeiten.
  2. 2. Kommunikation zwischen Nicht-Eltern-Kind-Komponenten
  3. Zusätzlich zur Kommunikation zwischen Eltern-Kind-Komponenten müssen wir manchmal auch zwischen Nicht-Eltern-Kind-Komponenten kommunizieren. Zu den häufig verwendeten Methoden gehören die Verwendung einer Vue-Instanz als zentraler Ereignisbus oder die Verwendung von Vuex für die Zustandsverwaltung.
  4. 1. Verwenden Sie eine Vue-Instanz als zentralen Ereignisbus.

Sie können eine Vue-Instanz als zentralen Ereignisbus erstellen. Über diese Instanz können Unterkomponenten Daten empfangen, indem sie Ereignisse abhören.
rrreee

Im obigen Code haben wir eine Vue-Instanz mit dem Namen EventBus erstellt und die Kommunikation zwischen Unterkomponenten über diese Instanz implementiert. Unterkomponente A löst das benutzerdefinierte Ereignis my-event über EventBus.$emit aus, und Unterkomponente B lauscht auf my über <code>EventBus.$on -event Ereignis- und Aktualisierungsdaten. 🎜🎜2. Verwenden Sie Vuex für die Zustandsverwaltung🎜🎜Vuex ist eine offiziell von Vue bereitgestellte Zustandsverwaltungsbibliothek. Mit Vuex können Sie den Status Ihrer Anwendung verwalten und die Kommunikation zwischen Komponenten implementieren. 🎜rrreee🎜Im obigen Code verwenden wir Vuex, um einen Store zu erstellen, einschließlich state, mutations, Aktionen und Getter. Unterkomponente A aktualisiert den Wert von message, indem sie die Methode updateMessage über die Hilfsfunktion mapActions aufruft. Unterkomponente B erhält den Wert von message über die Hilfsfunktion mapGetters. 🎜🎜3. Hinweise🎜🎜🎜 Nutzen Sie berechnete Eigenschaften sinnvoll: In Vue sind berechnete Eigenschaften eine sehr nützliche Funktion. Durch die Verwendung berechneter Attribute kann das Schreiben komplexer Ausdrücke in Vorlagen vermieden werden. Außerdem können die Ergebnisse mehrerer Datenattributberechnungen zwischengespeichert werden, um die Leistung zu verbessern. 🎜🎜Vermeiden Sie es, Requisiten direkt zu ändern: In Vue sind Requisiten schreibgeschützt und die Werte von Requisiten sollten nicht direkt geändert werden. Wenn Sie den Wert von Requisiten in einer Unterkomponente ändern müssen, sollten Sie ihn in das Datenattribut der Unterkomponente konvertieren und ihn innerhalb der Unterkomponente ändern. Wenn Sie den geänderten Wert an die übergeordnete Komponente übergeben müssen, können Sie das Ereignis emit verwenden. 🎜🎜Verwenden Sie $refs, um die Instanz der Unterkomponente abzurufen: In einigen Szenarien möchten wir die Instanz der Unterkomponente in der übergeordneten Komponente abrufen. Sie können $refs verwenden. Durch Hinzufügen des Ref-Attributs zur untergeordneten Komponente kann die Instanz der untergeordneten Komponente über this.$refs in der übergeordneten Komponente abgerufen werden. 🎜🎜🎜Zusammenfassung🎜In der Vue-Komponentenkommunikation sind die Eltern-Kind-Komponentenkommunikation und die Nicht-Eltern-Kind-Komponentenkommunikation die beiden häufigsten Methoden. Durch die Kommunikation von Eltern-Kind-Komponenten können Datenübertragung und Interaktion durch Requisiten und Ereignisse realisiert werden. Die Kommunikation von Nicht-Eltern-Kind-Komponenten kann erreicht werden, indem eine Vue-Instanz als zentraler Ereignisbus erstellt oder Vuex für die Zustandsverwaltung verwendet wird. Beim Schreiben von Kommunikationscode für Vue-Komponenten sollten wir die berechneten Eigenschaften gut nutzen, die direkte Änderung von Requisiten vermeiden und $refs verwenden, um Unterkomponenteninstanzen und andere Techniken zu erhalten, um die Entwicklungseffizienz und die Wartbarkeit des Codes zu verbessern. 🎜

Das obige ist der detaillierte Inhalt vonProgrammiertipps und Vorsichtsmaßnahmen für die Vue-Komponentenkommunikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So dekomprimieren Sie eine ISO-Datei So dekomprimieren Sie eine ISO-Datei Feb 19, 2024 pm 04:07 PM

Eine ISO-Datei ist ein gängiges Disc-Image-Dateiformat, das normalerweise zum Speichern des gesamten Inhalts einer Disc, einschließlich Dateien und Dateisystemen, verwendet wird. Wenn wir auf den Inhalt der ISO-Datei zugreifen müssen, müssen wir sie dekomprimieren. In diesem Artikel werden mehrere gängige Methoden zum Dekomprimieren von ISO-Dateien vorgestellt. Dekomprimierung mit einem virtuellen optischen Laufwerk Dies ist eine der gebräuchlichsten Methoden zum Dekomprimieren von ISO-Dateien. Zuerst müssen wir eine Software für ein virtuelles optisches Laufwerk installieren, z. B. DAEMON Tools Lite, PowerISO usw. Doppelklicken Sie dann auf das Softwaresymbol für das virtuelle optische Laufwerk

Wuthering WavesEinführung in Dinge, die während des Tests beachtet werden müssen Wuthering WavesEinführung in Dinge, die während des Tests beachtet werden müssen Mar 13, 2024 pm 08:13 PM

Bitte vermeiden Sie während des Mingchao-Tests Systemaktualisierungen, Werksresets und den Austausch von Teilen, um zu verhindern, dass Informationsverluste zu abnormalen Spielanmeldungen führen. Besondere Erinnerung: Während des Testzeitraums gibt es keinen Einspruchskanal. Gehen Sie daher bitte mit Vorsicht vor. Einführung in die Vorsichtsmaßnahmen während des Mingchao-Tests: Aktualisieren Sie das System nicht, stellen Sie die Werkseinstellungen nicht wieder her, ersetzen Sie keine Gerätekomponenten usw. Hinweise: 1. Bitte aktualisieren Sie das System während des Testzeitraums sorgfältig, um Informationsverluste zu vermeiden. 2. Wenn das System aktualisiert wird, kann es dazu kommen, dass die Anmeldung beim Spiel nicht möglich ist. 3. Zu diesem Zeitpunkt ist der Einspruchskanal noch nicht geöffnet. Den Spielern wird empfohlen, nach eigenem Ermessen zu entscheiden, ob sie ein Upgrade durchführen möchten. 4. Gleichzeitig kann ein Spielkonto nur mit einem Android-Gerät und einem PC verwendet werden. 5. Es wird empfohlen, zu warten, bis der Test abgeschlossen ist, bevor Sie das Mobiltelefonsystem aktualisieren, die Werkseinstellungen wiederherstellen oder das Gerät austauschen.

Hinweise zur C++-Entwicklung: Vermeiden Sie Nullzeigerausnahmen in C++-Code Hinweise zur C++-Entwicklung: Vermeiden Sie Nullzeigerausnahmen in C++-Code Nov 22, 2023 pm 02:38 PM

In der C++-Entwicklung ist die Nullzeigerausnahme ein häufiger Fehler, der häufig auftritt, wenn der Zeiger nicht initialisiert wird oder nach der Freigabe weiterhin verwendet wird. Nullzeigerausnahmen verursachen nicht nur Programmabstürze, sondern können auch Sicherheitslücken verursachen, weshalb besondere Aufmerksamkeit erforderlich ist. In diesem Artikel wird erläutert, wie Sie Nullzeigerausnahmen in C++-Code vermeiden. Zeigervariablen initialisieren Zeiger in C++ müssen vor der Verwendung initialisiert werden. Wenn der Zeiger nicht initialisiert ist, zeigt er auf eine zufällige Speicheradresse, was zu einer Nullzeigerausnahme führen kann. Um einen Zeiger zu initialisieren, zeigen Sie ihn auf einen

Wie starte ich zum ersten Mal eine Live-Übertragung auf Douyin? Was ist bei der ersten Live-Übertragung zu beachten? Wie starte ich zum ersten Mal eine Live-Übertragung auf Douyin? Was ist bei der ersten Live-Übertragung zu beachten? Mar 22, 2024 pm 04:10 PM

Mit dem Aufkommen von Kurzvideoplattformen ist Douyin zu einem festen Bestandteil des täglichen Lebens vieler Menschen geworden. Live-Übertragungen auf Douyin und die Interaktion mit Fans sind die Träume vieler Nutzer. Wie startet man also zum ersten Mal eine Live-Übertragung auf Douyin? 1. Wie starte ich zum ersten Mal eine Live-Übertragung auf Douyin? 1. Vorbereitung Um die Live-Übertragung zu starten, müssen Sie zunächst sicherstellen, dass Ihr Douyin-Konto die Authentifizierung mit echtem Namen abgeschlossen hat. Das Tutorial zur Echtnamen-Authentifizierung finden Sie unter „Ich“ -> „Einstellungen“ -> „Konto und Sicherheit“ in der Douyin-APP. Nach Abschluss der Authentifizierung mit echtem Namen können Sie die Live-Übertragungsbedingungen erfüllen und mit der Live-Übertragung auf der Douyin-Plattform beginnen. 2. Beantragen Sie eine Live-Übertragungserlaubnis. Nachdem Sie die Bedingungen für die Live-Übertragung erfüllt haben, müssen Sie eine Live-Übertragungserlaubnis beantragen. Öffnen Sie die Douyin-App und klicken Sie auf „Ich“ -> „Creator Center“ -> „Direkt“.

Schritte und Vorsichtsmaßnahmen für die Verwendung von localstorage zum Speichern von Daten Schritte und Vorsichtsmaßnahmen für die Verwendung von localstorage zum Speichern von Daten Jan 11, 2024 pm 04:51 PM

Schritte und Vorsichtsmaßnahmen für die Verwendung von localStorage zum Speichern von Daten In diesem Artikel wird hauptsächlich die Verwendung von localStorage zum Speichern von Daten vorgestellt und relevante Codebeispiele bereitgestellt. LocalStorage ist eine Methode zum Speichern von Daten im Browser, die die Daten lokal auf dem Computer des Benutzers speichert, ohne einen Server zu durchlaufen. Im Folgenden finden Sie die Schritte und Dinge, die Sie beachten sollten, wenn Sie localStorage zum Speichern von Daten verwenden. Schritt 1: Prüfen Sie, ob der Browser LocalStorage unterstützt

Go-Programmierkenntnisse: Elemente in Slices flexibel löschen Go-Programmierkenntnisse: Elemente in Slices flexibel löschen Apr 02, 2024 pm 05:54 PM

Go-Slice-Elemente löschen Um ein einzelnes Element zu löschen: Verwenden Sie die append()-Methode, um ein neues Slice zu erstellen, wobei Sie die Elemente ausschließen, die Sie löschen möchten. Verwenden Sie die Methode copy(), um Elemente zu verschieben und ihre Länge anzupassen. Mehrere Elemente entfernen: Verwenden Sie eine for-Schleife, um den Slice zu durchlaufen und dabei die Elemente auszuschließen, die Sie aus dem neuen Slice entfernen möchten. Verwenden Sie die Methode reverse(), um die zu löschenden Elemente zu sortieren und sie von hinten nach vorne zu löschen, um Indexprobleme zu vermeiden. Wählen Sie die am besten geeignete Technik basierend auf der Anzahl der Elemente, die Sie entfernen möchten, und Ihren Leistungsanforderungen.

Schritte und Vorsichtsmaßnahmen für die Installation von Pip ohne Netzwerk Schritte und Vorsichtsmaßnahmen für die Installation von Pip ohne Netzwerk Jan 18, 2024 am 10:02 AM

Methoden und Vorsichtsmaßnahmen für die Installation von Pip in einer Offline-Umgebung. Die Installation von Pip wird in einer Offline-Umgebung, in der das Netzwerk nicht reibungslos funktioniert, zu einer Herausforderung. In diesem Artikel stellen wir verschiedene Methoden zur Installation von Pip in einer Offline-Umgebung vor und stellen spezifische Codebeispiele bereit. Methode 1: Verwenden Sie das Offline-Installationspaket, um in einer Umgebung, in der Sie eine Verbindung zum Internet herstellen können, das PIP-Installationspaket von der offiziellen Quelle herunterzuladen: pipdownloadpip. Dieser Befehl lädt PIP und seine abhängigen Pakete automatisch von der offiziellen Quelle herunter Quelle und speichern Sie sie im aktuellen Verzeichnis. Verschieben Sie das heruntergeladene komprimierte Paket an einen Remote-Speicherort

Hinweise zur Python-Entwicklung: Vermeiden Sie häufige Probleme mit Speicherverlusten Hinweise zur Python-Entwicklung: Vermeiden Sie häufige Probleme mit Speicherverlusten Nov 22, 2023 pm 01:43 PM

Als Programmiersprache auf hohem Niveau bietet Python die Vorteile, dass es leicht zu erlernen, einfach zu verwenden und äußerst effizient in der Entwicklung ist, und erfreut sich bei Entwicklern immer größerer Beliebtheit. Aufgrund der Art und Weise, wie sein Garbage-Collection-Mechanismus implementiert ist, ist Python jedoch anfällig für Speicherverluste, wenn große Speichermengen verarbeitet werden. In diesem Artikel werden die Dinge vorgestellt, auf die Sie bei der Python-Entwicklung achten müssen, und zwar unter drei Aspekten: häufige Speicherverlustprobleme, Problemursachen und Methoden zur Vermeidung von Speicherverlusten. 1. Häufige Speicherleckprobleme: Speicherlecks beziehen sich auf die Unfähigkeit, den vom Programm während des Betriebs zugewiesenen Speicherplatz freizugeben.

See all articles