Schritte für Vue zur Verwendung von Ref, um Komponenten über Ebenen hinweg zu erhalten

Schritte für Vue zur Verwendung von Ref, um Komponenten über Ebenen hinweg zu erhalten

Vue verwendet Ref, um Komponenteninstanzen über Ebenen hinweg abzurufen

Beispieleinführung

Während des Entwicklungsprozesses werden wir zwangsläufig die ebenenübergreifende Referenzinstanzerfassung verwenden. In den meisten Fällen können wir die erforderliche Instanz über die eigenen parent oder children der Komponente finden. Wenn die Hierarchie jedoch unklar oder zu tief ist, ist diese Methode zwangsläufig umständlich und ineffizient.

Wie in der folgenden Abbildung gezeigt, verwenden wir組件E um die Komponenteninstanz von組件D zu erhalten.

Dokumentverzeichnisstruktur

Es gibt sechs Komponenten, nämlich A, B, C, D, E und Index, und sie werden in der Reihenfolge der Komponenten in der obigen Abbildung in die jeweiligen Seiten eingefügt.

Der Seitenstil ist wie folgt:

Installieren Sie vue-ref

vue-ref herunterladen

npm installiere vue-ref --save

Globale Registrierung

Importiere Ref von „vue-ref“
Vue.use(ref)

Anwendung

<!-- vm.dom wird der DOM-Knoten sein -->
<p v-ref="c => this.dom = c">hallo</p>

<!-- vm.child wird die untergeordnete Komponenteninstanz sein -->
<child-component v-ref="c => dieses.child = c"></child-component>

<span v-for="n in 10" :key="n" v-ref="(c, key) => {...}">{{ n }} </span>

Benutzerdefinierte Methode der Stammkomponente [mit „Provide“ und „Inject“]

Auf unserer Indexseite bieten wir drei Methoden an:

  • Legen Sie die Instanz der untergeordneten Komponente fest, setChildrenRef
  • Von Komponenteninstanz abrufen: getChildrenRef
  • Holen Sie sich die aktuelle Knoteninstanz, getRef
bieten() {
  zurückkehren {
   setChildrenRef: (Name, Referenz) => {
    dies[Name] = ref
   },
   getChildrenRef: Name => {
    gib dies zurück[Name]
   },
   getRef: () => {
    gib das zurück
   }
  }
 },

Beschreiben Sie jede Seite einzeln

Seite Komponente A:

Holen Sie sich die Methode setChildrenRef über die Injektionsmethode und cachen Sie Komponente D über die obigen Anweisungen

Seite Komponente B:

Seite Komponente C:

Seite Komponente D:

Seite Komponente E:

Auf dieser Seite fügen wir nicht nur zwei Methoden ein, sondern legen auch eine Methode zum Ändern der Farbe der Komponente D fest, um zu testen, ob wir die Instanz der Komponente D wirklich über alle Ebenen hinweg erhalten haben.

Ergebnis

Wie Sie sehen, sind die drei übergeordneten Instanzen identisch und der Textstil der Komponente D wurde in Komponente E erfolgreich geändert. Gut!

Oben sind die Einzelheiten der Schritte aufgeführt, mit denen Vue Ref verwendet, um Komponenten über verschiedene Ebenen hinweg abzurufen. Weitere Informationen dazu, wie Vue Ref zum Abrufen von Komponenten verwendet, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Ausführliche Erläuterung der Vue-Komponente „Multi-Select-Liste“
  • Probleme und Lösungen bei der Verwendung des V-Modells zum bidirektionalen Binden der Werte von übergeordneten und untergeordneten Komponenten in Vue
  • Vue-Beispielcode mit dem Animationseffekt „Übergangskomponente“
  • Zusammenfassung der Grundlagen der Vue-Komponenten
  • Tiefgreifendes Verständnis der dynamischen und asynchronen Komponenten von Vue
  • Vue implementiert Multi-Tab-Komponente
  • Implementieren Sie ganz einfach den gesamten Prozess der Switch-Funktionskomponenten in vue3
  • So passen Sie Dialog- und Modalkomponenten in Vue3 an
  • Richtige Methode, um eine erneute Darstellung einer Komponente in Vue zu erzwingen
  • Zwei Möglichkeiten zum dynamischen Erstellen von Komponenten in Vue
  • Detaillierte Erklärung inkompatibler Änderungen von Komponenten in vue3

<<:  Installations-Tutorial zur neuesten stabilen Version von MySQL 5.7.17 unter Linux

>>:  mysql5.7 Benutzerberechtigung erstellen Benutzer löschen Berechtigung widerrufen

Artikel empfehlen

Beispielcode für die Vue-Bildzuschneidekomponente

Beispiel: Tipp: Diese Komponente basiert auf der ...

So schreiben Sie DROP TABLE in verschiedene Datenbanken

So schreiben Sie DROP TABLE in verschiedene Daten...

Verwendung des SerialPort-Moduls in Node.js

Inhaltsverzeichnis Zweck Modulinstallation Grundl...

Eine kurze Analyse der parallelen WriteSet-Replikation von MySQL

【Historischer Hintergrund】 Ich arbeite seit drei ...

Eine kurze Analyse der LRU-verknüpften Liste von MySQL

1. Beschreiben Sie kurz die traditionelle LRU-ver...

Detaillierte Erläuterung der Überwachung der NVIDIA GPU-Nutzung unter Linux

Bei der Verwendung von TensorFlow für Deep Learni...

So installieren und konfigurieren Sie den SSH-Dienst in Ubuntu 18.04

Installieren Sie das SSH-Tool 1. Öffnen Sie das T...

So installieren Sie eine MySQL-Datenbank auf einem Debian 9-System

Vorwort Beim Anblick des Titels sollte sich jeder...