Beispiele für die Verwendung von „Provide“ und „Inject“ in Vue2.0/3.0

Beispiele für die Verwendung von „Provide“ und „Inject“ in Vue2.0/3.0

1. Was ist der Nutzen von Provide/Inject?

Die häufig verwendete Kommunikationsmethode zwischen übergeordneten und untergeordneten Komponenten besteht darin, dass die übergeordnete Komponente die an die untergeordnete Komponente zu übergebenden Daten bindet und die untergeordnete Komponente sie über das Props-Attribut empfängt. Sobald die Komponentenhierarchie größer wird, ist es sehr mühsam, Werte auf diese Weise Ebene für Ebene zu übergeben, und die Lesbarkeit des Codes ist nicht hoch, was für die spätere Wartung unpraktisch ist.

Vue bietet die Funktionen „Bieten“ und „Injizieren“, um uns bei der Lösung mehrstufiger verschachtelter Kommunikationsprobleme zu helfen. Geben Sie in „Provide“ die Daten an, die an die untergeordneten Komponenten übergeben werden sollen. Die untergeordneten Komponenten fügen dann die von der übergeordneten Komponente über „Inject“ übergebenen Daten ein.

Anwendungsszenario: Da Vue über die Eigenschaft $parent verfügt, können untergeordnete Komponenten auf übergeordnete Komponenten zugreifen. Für Enkelkomponenten ist es jedoch schwierig, auf Vorgängerkomponenten zuzugreifen. Über Provide/Inject können Sie problemlos auf die Daten von Vorgängerkomponenten über verschiedene Ebenen hinweg zugreifen.

2. So verwenden Sie provide/inject

provide: ist ein Objekt/eine Funktion, die ein Objekt zurückgibt.

Darin befinden sich Attribute und Attributwerte.

Hinweis: Die Bereitstellung der Nachkommenschicht deckt den Attributwert des gleichen Schlüssels in der Bereitstellung der Großelternschicht ab.

einfügen: ein Array von Zeichenfolgen oder ein Objekt.

Der Attributwert kann ein Objekt sein, einschließlich der Standardwerte „von“ und „Standard“. „Von“ ist der Schlüssel (Zeichenfolge oder Symbol), der zum Suchen im verfügbaren Injektionsinhalt verwendet wird. Dies bedeutet, dass der Großvater-Mehrschichtanbieter viele Daten bereitstellt, und das „von“-Attribut gibt an, welcher Schlüssel verwendet werden soll.

default gibt den Standardwert an.

Spezifische Verwendung:

Übergeordnete Komponente

<Vorlage>
  <div>
 
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Komponenten:
    MergeTipDialog,
    BreakNetTipp
  },
  Daten () {
    zurückkehren {
      isShow: false,
      isRouterAlive: true
  },

// Die von der übergeordneten Komponente zurückgegebenen und an die untergeordnete Komponente zu übergebenden Daten können eine Funktion oder die Daten in data provide () sein {
    zurückkehren {
      neu laden: dies.neu laden istAnzeigen: dies.istAnzeigen
    }
  },
  Methoden: {
    neu laden () {
      this.isRouterAlive = false
      dies.$nextTick(() => {
        this.isRouterAlive = true
      })
    }
  }
}
</Skript>

Nachkommen

<Vorlage>
  <Popup-Zuweisung
    :id="Ich würde"
    @success="ErfolgsHandle"
  >
    <div Klasse="confirm-d-tit"><span Klasse="gray-small-btn">{{ Name }}</span></div>
    <strong>Wird zugewiesen an</strong>
    <a
      slot="Referenz"
      Klasse="unite-btn"
    >
      Abtretung
  </popup-assign>
</Vorlage>
<Skript>
PopupAssign aus '../PopupAssign' importieren
Standard exportieren {
//Referenz Vue Reload-Methode Inhalt isShow
  einfügen: ['neu laden','isShow'],
  Komponenten:
    PopupZuweisen
  },
Methoden: {
    asynchroner Erfolgshandle () {
      dies.neu laden()
    }
  }
}
</Skript>

Vue3.0-Nutzung

Übergeordnete Komponente

Unterkomponenten

Zusammenfassen

Dies ist das Ende dieses Artikels über die Verwendung von Provide und Inject in vue2.0/3.0. Weitere relevante Inhalte zur Verwendung von Provide und Inject in vue 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 Erklärung zur dynamischen Aktualisierung der Tabelle mithilfe von vue2.0 in Kombination mit dem DataTable-Plugin
  • Vergleich der Vorteile von vue3 und vue2
  • Vue2.x konfiguriert Routing-Navigations-Guards, um die Benutzeranmeldung und -beendigung zu implementieren.
  • Detaillierte Untersuchung von vue2.x - Erklärung der h-Funktion
  • Vue2.x-Reaktionsfähigkeit – einfache Erklärung und Beispiele
  • Zusammenfassung der Vorteile von Vue3 gegenüber Vue2
  • Vue2-Implementierungen bieten Injection für Reaktionsfähigkeit
  • Eine kurze Analyse des Reaktionsprinzips und der Unterschiede von Vue2.0/3.0
  • vue2.x-Konfiguration von vue.config.js zur Projektoptimierung
  • Beispiel für handschriftliches Vue2.0-Daten-Hijacking
  • Vue2.x - Beispiel für die Verwendung von Anti-Shake und Throttling
  • Der Quellcode zeigt, warum Vue2 Daten und Methoden direkt abrufen kann

<<:  Eine bunte Katze unter Linux

>>:  Beispiel-Tutorial zum Zusammenführen und Teilen von MySQL nach angegebenen Zeichen

Artikel empfehlen

Zusammenfassung der allgemeinen MySQL-Benchmark-Befehle

mysql.lap Allgemeine Parameterbeschreibung –auto-...

Implementierung der Breakpoint-Wiederaufnahme im Vue-Video-Player

In einem aktuellen Projekt musste ich die Funktio...

Gründe und Lösungen für das Versagen des React-Ereignisdrosselungseffekts

Inhaltsverzeichnis Das Problem hierbei ist: Lösun...

Ein Beispiel für die Verwendung von CSS-Methoden zur Erzielung von Modularität

1. Was sind CSS-Methoden? CSS methodologies könne...

JS verwendet Map, um doppelte Arrays zu integrieren

Inhaltsverzeichnis Vorwort Daten simulieren Zusam...

WEB Standard-Webseitenstruktur

Ob es sich nun um das Hintergrundbild oder die Tex...

Verwenden Sie Docker, um ein verteiltes lnmp-Image zu erstellen

Inhaltsverzeichnis 1. Verteilte LNMP-Image-Produk...

Zusammenfassung gängiger MySQL-Befehle

Festlegen des MySQL-Root-Passworts Melden Sie sic...

Einige Tipps zur richtigen Verwendung des HTML-Titelattributs

Wenn Sie Inhalte vor Benutzern von Telefonen, Tabl...

Erste Schritte mit Mysql - SQL-Ausführungsprozess

Inhaltsverzeichnis 1. Prozess 2. Kernarchitektur ...

MySQL Serie 4 SQL-Syntax

Inhaltsverzeichnis Tutorial-Reihe 1. Einführung u...

Einige kleine Methoden, die häufig in HTML-Seiten verwendet werden

Fügen Sie das Tag <Head> hinzu <meta http...

So ändern Sie MySQL-Berechtigungen, um Hosts den Zugriff zu ermöglichen

Aktivieren Sie Remote-Zugriffsrechte für MySQL My...