HintergrundBesprechen wir nun eine Situation: Wie kommunizieren übergeordnete Komponenten mit untergeordneten Komponenten? Wie viele Lösungen haben wir?
1. Dokumentbeschreibung(1) $props : Das von der aktuellen Komponente empfangene Props-Objekt. Eine Vue-Instanz gewährt Zugriff auf die Eigenschaften ihres Props-Objekts. (2) $attrs : Enthält Attributbindungen (außer Klasse und Stil), die im übergeordneten Bereich nicht als Eigenschaften erkannt (und abgerufen) werden. (3) $listeners : Enthält die v-on-Ereignislistener im übergeordneten Bereich (ohne den Modifikator .native). Es kann über v-on="listeners" an die interne Komponente übergeben werden. 2. Spezifische Verwendung1. Übergeordnete Komponente <Vorlage> <div> <div>Vaterkomponente</div> <Kind :foo="foo" :zoo="Zoo" @handle="handleSpaß" > </Kind> </div> </Vorlage> <Skript> Importiere Child aus „./Child.vue“. Standard exportieren { Komponenten: { Child }, Daten() { zurückkehren { foo: "foo", Zoo: "Zoo" } }, Methoden: { // Übergebe das Ereignis handleFun(value) { this.zoo = Wert console.log('In der Enkelkomponente ist ein Klickereignis aufgetreten und ich habe es erhalten.') } } } </Skript> 2. Untergeordnete Komponente (Child.vue) Die mittlere Schicht als Übertragungsvermittler zwischen der übergeordneten Komponente und der untergeordneten Komponente fügt der untergeordneten Komponente
<Vorlage> <div Klasse = "Unteransicht"> <p>Sohnkomponente - {{$props.foo}} hat den gleichen Inhalt wie {{foo}}</p> <Enkelkind v-bind="$attrs" v-on="$listeners"></Enkelkind> </div> </Vorlage> <Skript> importiere GrandChild aus „./GrandChild.vue“ Standard exportieren { // Alle Inhalte der übergeordneten Komponente übernehmen inheritAttrs: true, Komponenten: { Enkelkind }, Requisiten: ['foo'], Daten() { zurückkehren { } } } </Skript> 3. Enkelkomponente (GrandChild.vue) In der Enkelkomponente müssen Sie Props verwenden, um Daten zu empfangen, die von der übergeordneten Komponente übergeben werden <Vorlage> <div Klasse = 'Enkelkind-Ansicht'> <p>Enkelkomponente</p> <p>An die Enkelkomponente übergebene Daten: {{zoo}}</p> <button @click="testFun">Klicken Sie hier, um das Ereignis auszulösen</button> </div> </Vorlage> <Skript> Standard exportieren { // Möchte nicht den gesamten Inhalt der übergeordneten Komponente erben und keine Attribute im Stammelement der Komponente anzeigen DOM inheritAttrs: false, // In dieser Komponente müssen Sie die von der übergeordneten Komponente übergebenen Daten empfangen. Beachten Sie, dass der Parametername in den Props nicht geändert werden kann. Er muss mit den von der übergeordneten Komponente übergebenen Props identisch sein: ['zoo'], Methoden: { testFun() { dies.$emit('Handle', '123') } } } </Skript> AbschlussAus dem obigen Code können wir ersehen, dass durch die Verwendung der Attribute attrs und inheritAttrs präziser Code verwendet werden kann, um die Daten von Komponente A an Komponente C zu übergeben. Der Anwendungsbereich dieses Szenarios ist recht breit. Über Listener binden wir v-on="$listeners" an Komponente b und hören in Komponente a auf die von Komponente c ausgelösten Ereignisse. Die von Komponente c gesendeten Daten können an Komponente a weitergegeben werden. Dies ist das Ende dieses Artikels über die detaillierte Verwendung von $props, $attrs und $listeners in Vue. Weitere relevante Vue-Inhalte zu $props, $attrs und $listeners finden Sie in den vorherigen Artikeln von 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:
|
<<: Informationen zu WSL-Konfigurations- und Änderungsproblemen in Docker
>>: HTML-Code zum Hinzufügen von Symbolen zum transparenten Eingabefeld
Zugehörige Dokumente Ein Teil dieses Artikels wir...
Heute werden wir einen fragmentierten Bildladeeff...
Mit REGELN kann die Art der inneren Rahmen der Ta...
Inhaltsverzeichnis 1. Literale 1.1 Numerische Lit...
XML/HTML-CodeInhalt in die Zwischenablage kopiere...
1. Einleitung Ich habe mein Blog kürzlich aktuali...
Zusammenfassung gängiger Operatoren und Operatore...
Inhaltsverzeichnis Redo-Protokoll Warum müssen wi...
Vorwort var ist eine Möglichkeit, Variablen in ES...
Inhaltsverzeichnis Projekthintergrund Verbesserun...
Viele Mobiltelefone verfügen mittlerweile über di...
1. Lackübersicht 1. Einführung in Varnish Varnish...
Zusammenfassen Globale Umgebung ➡️ Fenster Normal...
Der „Abbrechen“-Button ist nicht Teil des notwend...
Inhaltsverzeichnis 1. Initialisieren Sie das Arra...