Heim > Web-Frontend > View.js > So kommunizieren Sie komponentenübergreifend in Vue

So kommunizieren Sie komponentenübergreifend in Vue

下次还敢
Freigeben: 2024-04-30 02:09:19
Original
987 Leute haben es durchsucht

In Vue.js kann komponentenübergreifende Kommunikation auf folgende Weise erreicht werden: Eltern-Kind-Kommunikation: Weitergabe von Daten oder Ereignisauslösung durch Requisiten. Kommunikation zwischen Vorfahren und Nachkommen: Teilen von Datenquellen über Bereitstellen/Injizieren. Kommunikation zwischen Geschwisterkomponenten: über Ereignisbus, Vuex-Statusverwaltung oder benutzerdefinierte Ereignisse.

So kommunizieren Sie komponentenübergreifend in Vue

Wie kommuniziere ich komponentenübergreifend in Vue?

Einführung:
In Vue.js-Anwendungen ist die komponentenübergreifende Kommunikation entscheidend für den Austausch von Daten und Ereignissen. Es gibt mehrere Möglichkeiten, eine komponentenübergreifende Kommunikation zu erreichen:

Eltern-Kind-Kommunikation:

  • Weitergabe von Daten über Eigenschaften: Die übergeordnete Komponente übergibt die Daten als Requisite an die untergeordnete Komponente, und die untergeordnete Komponente verwendet V-Bind dazu Binden Sie die Daten.
  • Ausgelöst durch Ereignisse: Die untergeordnete Komponente löst ein Ereignis aus und übergibt die Daten an die übergeordnete Komponente. Die übergeordnete Komponente lauscht auf das Ereignis in der Vorlage der übergeordneten Komponente.

Ancestor-Descendant-Kommunikation:

  • Durch Bereitstellung/Injektion: Ancestor-Komponenten stellen eine Datenquelle bereit, und Nachkommenkomponenten erhalten Daten durch Inject.

Schwesterkomponentenkommunikation:

  • Über den Ereignisbus: Erstellen Sie eine Vue-Instanz, die als Ereignisbus fungiert, und alle Komponenten können Ereignisse abhören und auslösen.
  • Zustandsverwaltung über Vuex: Verwenden Sie die Vuex-Zustandsverwaltungsbibliothek, um den globalen Zustand zu speichern und ihn allen Komponenten zugänglich zu machen.

Benutzerdefinierte Ereignisse:

  • Über $emit/$on: Lösen Sie benutzerdefinierte Ereignisse über $emit in untergeordneten Komponenten aus und überwachen Sie Ereignisse über $on in übergeordneten Komponenten.

Beispiel für die Attributübergabe:

<code class="HTML"><!-- 父组件 -->
<template>
  <Child-Component :message="message" />
</template></code>
Nach dem Login kopieren
<code class="HTML"><!-- 子组件 -->
<template>
  <div>{{ message }}</div>
</template></code>
Nach dem Login kopieren

Beispiel für die Auslösung durch ein Ereignis:

<code class="HTML"><!-- 子组件 -->
<template>
  <button @click="emitMessage">触发事件</button>
</template>

<script>
export default {
  methods: {
    emitMessage() {
      this.$emit('message', '事件数据');
    }
  }
};
</script></code>
Nach dem Login kopieren
<code class="HTML"><!-- 父组件 -->
<template>
  <Child-Component @message="handleMessage" />
</template>

<script>
export default {
  methods: {
    handleMessage(message) {
      console.log(message); // 输出:事件数据
    }
  }
};
</script></code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo kommunizieren Sie komponentenübergreifend in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
vue
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage