Inhaltsverzeichnis
Übersicht
Verwendung von Provide/Inject
Übergeordnete Komponente stellt Daten bereit
Untergeordnete Komponente stellt Daten bereit
Der Implementierungsprozess von Provide/Inject
Zusammenfassung
Heim Web-Frontend View.js Erste Schritte mit VUE3 für Anfänger: Bereitstellung/Injektion zum Teilen zwischen Komponenten verwenden

Erste Schritte mit VUE3 für Anfänger: Bereitstellung/Injektion zum Teilen zwischen Komponenten verwenden

Jun 16, 2023 am 08:34 AM
- vue - provide - inject

VUE ist ein modernes Front-End-Framework mit den Vorteilen hoher Benutzerfreundlichkeit, hoher Flexibilität und hervorragender Leistung. Es erfreut sich bei Front-End-Entwicklern zunehmender Beliebtheit und Beliebtheit. Die VUE3-Version bietet eine bessere Leistung, ein besseres architektonisches Design und ist benutzerfreundlicher. VUE3 bietet eine neue Möglichkeit, Daten zwischen Komponenten auszutauschen – Bereitstellen/Injizieren. In diesem Artikel wird der Verwendungs- und Implementierungsprozess von Provide/Inject ausführlich vorgestellt.

Übersicht

provide/inject ist eine von VUE3 offiziell empfohlene Methode zum Austausch von Daten zwischen Komponenten. In VUE2 implementieren wir häufig die Datenkommunikation zwischen Komponenten über props/$emit und Vuex. Das größte Merkmal von Provide/Inject besteht darin, dass es die gemeinsame Nutzung von Daten auf implizitere Weise implementiert, wodurch der Code lesbarer und wartbarer wird.

Verwendung von Provide/Inject

Die Verwendung von Provide/Inject ist sehr einfach, hier sind ein paar Beispiele:

Übergeordnete Komponente stellt Daten bereit

<template>
  <child-component />
</template>

<script>
import { provide } from 'vue'
import ChildComponent from './ChildComponent.vue'

export default {
  components: { ChildComponent },
  setup() {
    provide('message', 'Hello from parent')
  }
}
</script>
Nach dem Login kopieren

In der übergeordneten Komponente stellen wir über die Bereitstellungsmethode data and eine Nachricht mit dem Namen message bereit Setzen Sie den Wert auf „Hallo vom Elternteil“. Dann können wir „inject“ in der Unterkomponente verwenden, um diese Daten abzurufen:

<template>
  <div>{{ message }}</div>
</template>

<script>
import { inject } from 'vue'

export default {
  setup() {
    const message = inject('message')
    return { message }
  }
}
</script>
Nach dem Login kopieren
Nach dem Login kopieren

In der Unterkomponente verwenden wir die „inject“-Methode, um die Daten mit dem Namen „message“ abzurufen. Zu diesem Zeitpunkt können wir diese Daten in der Vorlage verwenden.

Untergeordnete Komponente stellt Daten bereit

<template>
  <child-component />
</template>

<script>
import { ref } from 'vue'
import ChildComponent from './ChildComponent.vue'

export default {
  components: { ChildComponent },
  setup() {
    const message = ref('Hello from parent')
    return { message }
  },
  provide: {
    message: this.message
  }
}
</script>
Nach dem Login kopieren

In diesem Beispiel definieren wir reaktive Daten namens Nachricht in der übergeordneten Komponente und setzen ihren Wert auf „Hallo vom übergeordneten Element“. Anschließend stellen wir diese Daten über die Provide-Methode der untergeordneten Komponente zur Verfügung. In der untergeordneten Komponente erhalten wir die Nachricht über die Injektionsmethode und verwenden sie in der Vorlage:

<template>
  <div>{{ message }}</div>
</template>

<script>
import { inject } from 'vue'

export default {
  setup() {
    const message = inject('message')
    return { message }
  }
}
</script>
Nach dem Login kopieren
Nach dem Login kopieren

Beachten Sie, dass die Nachrichtendaten, die wir hier definieren, responsiv sind.

Der Implementierungsprozess von Provide/Inject

Die Implementierung von Provide/Inject basiert auf dem neuen Antwortsystem in VUE3. In VUE3 ist „Provide/Inject“ darauf angewiesen, dass provideParent / injectSetupRef funktioniert. Die Funktion „proveParent“ ähnelt der Methode „provide“, da beide den Schlüsselnamen und den Wert von Daten empfangen, während injectSetupRef zum Abrufen von Daten von der übergeordneten Komponente verwendet wird. Der spezifische Implementierungsprozess ist wie folgt:

// provide函数
export function provide(key, value) {
  const vm = getCurrentInstance();
  if (!vm) {
    console.warn(`provide() can only be used inside setup().`);
  } else {
    let provides  = vm.provides;
    const parent = vm.parent;
    if (provides === EMPTY_OBJ) provides = vm.provides = Object.create(parent.provides);
    provides[key] = value;
  }
}

// inject函数
export function inject(key, defaultValue) {
  const vm = getCurrentInstance();
  if (vm) {
    const provides = vm.parent.provides;
    if (key in provides) {
      return provides[key];
    } else if (arguments.length > 1) {
      return defaultValue;
    } else {
      console.warn(`injection "${String(key)}" not found.`);
    }
  } else {
    console.warn(`inject() can only be used inside setup() or functional components.`);
  }
}
Nach dem Login kopieren

In der Bereitstellungsfunktion erhalten wir die aktuelle Instanz über die Funktion getCurrentInstance und speichern die bereitgestellten Daten im Bereitstellungsobjekt der aktuellen Instanz. Wenn die aktuelle Instanz nicht vorhanden ist, bedeutet dies, dass die Bereitstellungsfunktion in der Setup-Funktion nicht aufgerufen wird und eine Warnmeldung zurückgegeben wird.

In der Injektionsfunktion erhalten wir auch die aktuelle Instanz über die Funktion getCurrentInstance und erhalten den dem Schlüssel entsprechenden Wert vom Bereitstellungsobjekt seiner übergeordneten Komponente. Wenn der dem Schlüssel entsprechende Wert nicht vorhanden ist, wird defaultValue zurückgegeben. Wenn die aktuelle Instanz nicht vorhanden ist, bedeutet dies, dass die Injektionsfunktion nicht in der Setup-Funktion oder Funktionskomponente aufgerufen wurde und eine Warnmeldung zurückgegeben wird.

Zusammenfassung

Durch die Einleitung dieses Artikels können wir erkennen, dass Bereitstellung/Injektion eine hervorragende Methode zum Austausch von Daten zwischen VUE3-Komponenten ist. Es implementiert den Datenaustausch auf eine implizitere Art und Weise, wodurch der Code lesbarer und wartbarer wird. Bitte beachten Sie bei der Nutzung, dass die bereitgestellten Daten responsiv sind und in verschachtelten Komponenten verwendet werden können. Gleichzeitig ist zu beachten, dass die in arguments[1] übergebenen Parameter als Standardwert verwendet werden, wenn die von uns bereitgestellten Daten nicht vorhanden sind. Zu diesem Zeitpunkt müssen Sie immer auf den Typ achten und Wert der Parameter.

Das obige ist der detaillierte Inhalt vonErste Schritte mit VUE3 für Anfänger: Bereitstellung/Injektion zum Teilen zwischen Komponenten verwenden. 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)

Erste Schritte mit VUE3 für Anfänger: Bereitstellung/Injektion zum Teilen zwischen Komponenten verwenden Erste Schritte mit VUE3 für Anfänger: Bereitstellung/Injektion zum Teilen zwischen Komponenten verwenden Jun 16, 2023 am 08:34 AM

VUE ist ein modernes Front-End-Framework mit den Vorteilen hoher Benutzerfreundlichkeit, großer Flexibilität und hervorragender Leistung. Es erfreut sich zunehmender Beliebtheit und wird von Front-End-Entwicklern bevorzugt. Die VUE3-Version bietet eine bessere Leistung, ein besseres architektonisches Design und ist benutzerfreundlicher. VUE3 bietet eine neue Möglichkeit, die Funktion des Datenaustauschs zwischen Komponenten zu realisieren – Bereitstellen/Injizieren. In diesem Artikel wird der Verwendungs- und Implementierungsprozess von Provide/Inject ausführlich vorgestellt. Übersicht bereitstellen/

So verwenden Sie v-on:click.once in Vue, um zu erkennen, dass das Ereignis nur einmal ausgelöst wird So verwenden Sie v-on:click.once in Vue, um zu erkennen, dass das Ereignis nur einmal ausgelöst wird Jun 11, 2023 pm 12:52 PM

Vue ist ein beliebtes JavaScript-Framework, das umfangreiche Anweisungen zur Implementierung interaktiver Benutzeroberflächen bietet. Unter anderem kann die Ereignisverarbeitungsanweisung v-on zum Etikett hinzugefügt werden, um eine Ereignisverarbeitungsfunktion zu binden. Manchmal möchten wir jedoch, dass eine Schaltfläche nur einmal angeklickt wird, anstatt bei jedem Anklicken den entsprechenden Ereignishandler auszulösen. Wie kann man also mit v-on:click.once in Vue erkennen, dass das Ereignis nur einmal ausgelöst wird? So verwenden Sie v-on:click.once in Vue

Tipps und Best Practices für die Verwendung von Einzeldateikomponenten zur Implementierung der Komponentenmodularisierung in Vue Tipps und Best Practices für die Verwendung von Einzeldateikomponenten zur Implementierung der Komponentenmodularisierung in Vue Jun 25, 2023 am 08:12 AM

Vue ist ein beliebtes JavaScript-Framework, das häufig zur Entwicklung von Single-Page-Anwendungen und dynamischen Websites verwendet wird. Unter ihnen sind Komponentisierung und Modularisierung eines seiner Kernmerkmale. Vue verwendet Single-File Components (SFC), um die Modularisierung von Komponenten zu implementieren und die Effizienz beim Schreiben, Warten und Testen von Komponenten zu verbessern. In diesem Artikel werden Tipps und Best Practices für die Verwendung einzelner Dateikomponenten zur Modularisierung von Vue-Komponenten vorgestellt. Was ist eine einzelne Dateikomponente? Eine einzelne Dateikomponente bezieht sich auf

Detaillierte Erläuterung der Vue-Anweisungen: V-Modell, V-If, V-For usw. Detaillierte Erläuterung der Vue-Anweisungen: V-Modell, V-If, V-For usw. Jun 09, 2023 pm 04:06 PM

Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie ist das Front-End-Framework zu einem wichtigen Bestandteil der modernen Webanwendungsentwicklung geworden. Unter diesen wird Vue.js als hervorragendes und leichtes MVVM-Framework von Front-End-Entwicklern bevorzugt. Der Vue.js-Befehl ist ein sehr wichtiges Funktionsmodul im Vue.js-Framework. Darunter sind v-model, v-if, v-for und andere Befehle unverzichtbare Werkzeuge für die Entwicklung von Vue.js-Anwendungen. Im Folgenden analysieren wir die Verwendung und Funktion dieser Anweisungen im Detail. 1. v-mo

Wie Vue die Funktion zum Hochladen von Dateien implementiert Wie Vue die Funktion zum Hochladen von Dateien implementiert Feb 19, 2024 pm 06:23 PM

So implementieren Sie die Upload-Funktion von vue Mit der Entwicklung von Webanwendungen ist die Funktion zum Hochladen von Dateien immer häufiger geworden. Vue ist ein beliebtes JavaScript-Framework, das eine bequeme Möglichkeit zum Erstellen moderner Webanwendungen bietet. In Vue können Sie die Datei-Upload-Funktion mithilfe der Upload-Komponente von Vue implementieren. In diesem Artikel wird erläutert, wie Sie mit Vue die Funktion zum Hochladen von Dateien implementieren, und es werden spezifische Codebeispiele bereitgestellt. Installieren Sie zunächst die erforderlichen Abhängigkeiten im Vue-Projekt. Sie können n verwenden

So implementieren Sie Tag-Cloud-Effekte mit Vue So implementieren Sie Tag-Cloud-Effekte mit Vue Sep 20, 2023 pm 03:21 PM

So verwenden Sie Vue zum Implementieren von Tag-Cloud-Effekten Einführung: Tag-Cloud ist ein häufiger Webseiteneffekt, der Tags mit unterschiedlichen Schriftgrößen anzeigt, um die Beliebtheit oder Relevanz von Tags anzuzeigen. In diesem Artikel stellen wir vor, wie Sie das Vue-Framework zum Implementieren von Tag-Cloud-Effekten verwenden, und stellen spezifische Codebeispiele bereit. Schritt 1: Erstellen Sie ein Vue-Projekt. Zuerst müssen wir ein grundlegendes Vue-Projekt erstellen. Mit VueCLI können Sie schnell ein Projektgerüst erstellen. Öffnen Sie das Befehlszeilentool und geben Sie den folgenden Befehl ein: vuecreate

Vue und Vue-Router: Wie verwende ich Routing-Informationen in Komponenten? Vue und Vue-Router: Wie verwende ich Routing-Informationen in Komponenten? Dec 17, 2023 pm 01:46 PM

Vue und Vue-Router: Wie verwende ich Routing-Informationen in Komponenten? Einführung: Während des Entwicklungsprozesses von Vue.js ist es häufig erforderlich, Routing-Informationen in Komponenten abzurufen und zu verwenden, z. B. um aktuelle URL-Parameter abzurufen, zwischen verschiedenen Seiten zu springen usw. Vue.js stellt das Vue-Router-Plug-in zur Implementierung von Front-End-Routing-Funktionen bereit. In diesem Artikel wird erläutert, wie Sie Vue-Router in Komponenten verwenden, um Routing-Informationen abzurufen und zu nutzen. Einführung in Vue-Router: Vue-Router ist Vue

nextTick-Funktion in Vue3: Verarbeitungsvorgänge nach DOM-Update nextTick-Funktion in Vue3: Verarbeitungsvorgänge nach DOM-Update Jun 18, 2023 am 10:06 AM

Vue3 ist in letzter Zeit ein sehr beliebtes Front-End-Framework. Seine größte Funktion ist die virtuelle DOM-Technologie. Das heißt, Vue konvertiert den realen DOM-Baum in einen virtuellen DOM-Baum und wandelt ihn dann in einen echten DOM-Baum um, nachdem er das virtuelle DOM bearbeitet hat Baum. DOM-Baum. Mit dieser Technologie können wir DOM effizienter betreiben und auch bei einer großen Anzahl von DOMs eine sehr gute Leistung erzielen. Aufgrund der Besonderheiten der virtuellen DOM-Technologie können wir beim Betrieb von DOM jedoch manchmal nicht sofort das neueste DO erhalten.

See all articles