


So verwenden Sie das V-Modell in Vue, um die Kommunikation zwischen Eltern-Kind-Komponenten zu erreichen
vue.js ist eine Bibliothek zum Erstellen datengesteuerter Webschnittstellen. Das Ziel von Vue.js besteht darin, eine reaktionsfähige Datenbindung und zusammengesetzte Ansichtskomponenten mit einer möglichst einfachen API zu ermöglichen. Im folgenden Artikel werden hauptsächlich relevante Informationen zur Kommunikationsimplementierung von übergeordneten und untergeordneten V-Modell-Komponenten im Vue-Projekt vorgestellt.
Vorwort
In Vue-Projekten haben wir oft eine solche Anforderung. Die übergeordnete Komponente bindet das V-Modell und die Unterkomponenteneingabe Ändert den übergeordneten Wert, der an das V-Modell der Komponente gebunden ist. Vielen Freunden ist dieser Vorgang nicht ganz klar, was ein tieferes Verständnis des V-Modells erfordert. Lassen Sie uns heute über das V-Modell sprechen.
Vues bidirektionale Datenbindung
Der V-Model-Befehl kann nur in ,
Diese Frage wird in vielen Front-End-Interviews erwähnt. Der Interviewer fragte Sie: Was ist das Prinzip der bidirektionalen Datenbindung in Vue? Natürlich ist das auch eine bekannte Frage. Sie können die Antwort überall finden, indem Sie auf Baidu suchen.
Im Allgemeinen werden Sie feststellen, dass Object.defineProperty() zur Überwachung des Datenabrufs und -satzes verwendet wird, um eine Datenentführung zu erreichen.
Wenn Sie nicht viel über Object.defineProperty() wissen, können Sie auf den Link oben klicken, um einen Blick auf die Syntax zu werfen!
Ein einfaches Beispiel:
var blog = { name: 'haorooms博客' }; console.log(blog.name); // haorooms博客
Wenn Sie beim Ausführen von console.log(blog.name)
direkt einen Buchtitel zum Haorooms-Blog hinzufügen möchten, was sollten Sie tun? Mit anderen Worten, was ist der Attributwert des Überwachungsobjektblogs? Dann ist Object.defineProperty( )
praktisch:
var blog= {} var name = ''; Object.defineProperty(blog, 'name', { set: function (value) { name = value; console.log('欢迎来到' + value); }, get: function () { return '《' + name + '》' } }) blog.name = 'haorooms博客'; // 欢迎来到haorooms博客 console.log(blog.name); // 《haorooms博客》
Führen Sie den obigen Code aus, um den Effekt zu sehen!
Wie wird die bidirektionale Datenbindung von Vue implementiert? Es gibt auch viele Implementierungscodes im Internet, daher werde ich hier nicht zu sehr ins Detail gehen!
Verwendung des V-Modells
Oben habe ich so viel gesagt, aber es dient eigentlich der Veranschaulichung dass Vue ein einzelner Datenfluss ist, das V-Modell ist nur syntaktischer Zucker.
<input v-model="haorooms" /> <input v-bind:value="haorooms" v-on:input="haorooms= $event.target.value" />
Die erste Codezeile ist eigentlich nur syntaktischer Zucker für die zweite Zeile. Dann kann die zweite Codezeile wie folgt abgekürzt werden:
<input :value="haorooms" @input="haorooms= $event.target.value" />
Mit anderen Worten,
<input v-model="haorooms" />
kann auch als
<input :value="haorooms" @input="haorooms= $event.target.value" />
v- geschrieben werden. Modell in der Komponente Mit
ist zurück zu unserer ursprünglichen Frage? Wie kommuniziert das V-Modell zwischen übergeordneten und untergeordneten Komponenten in Vue? Wie verwende ich es in Komponenten? Wenn Sie mein Beispiel oben verstehen, können wir das V-Modell problemlos in Komponenten verwenden.
Der Code der übergeordneten Komponente lautet wie folgt:
<template> <p id="demo"> <test-model v-model="haorooms"></test-model> <span>{{haorooms}}</span> </p> </template> <script> import testModel from 'src/components/testModel' export default { data(){ return{ haorooms: "haorooms" } }, components: { testModel, } } </script> <style lang="scss" scoped> </style>
Der Code der Unterkomponente lautet wie folgt:
<template> <span> <input ref="input" :value="value" @input="$emit('balabala', $event.target.value)" > </span> </template> <script> export default { data(){ return{ } }, props: ["value"], model: { prop: 'value', event: 'balabala' } } </script> <style lang="scss" scoped> </style>
Wir können den obigen Code verwenden, um den Wert der übergeordneten Komponente zu ändern Komponenten-V-Modell-Bindung durch die Unterkomponente!
Der Implementierungs-Screenshot lautet wie folgt:
Nachteile und Lösungen des V-Modells
V-Modell ist beim Erstellen allgemeiner Komponenten wie Kontrollkästchen oder Optionsfelder nicht einfach zu verwenden.
<input type="checkbox" v-model="haorooms" />
Wir können es auf folgende Weise lösen:
<input type="checkbox" :checked="status" @change="status = $event.target.checked" />
Die übergeordnete Komponente kann wie folgt geschrieben werden:
<my-checkbox v-model="haorooms"></my-checkbox>
Untergeordnete Komponente:
<input type="checkbox" <!--这里就不用 input 了,而是 balabala--> @change="$emit('balabala', $event.target.checked)" :checked="value" /> export default { data(){ return{ } }, props: ['checked'], //这里就不用 value 了,而是 checked model: { prop: 'checked', event: 'balabala' }, }
Die Oben habe ich für alle zusammengestellt. Ja, ich hoffe, es wird in Zukunft für alle hilfreich sein.
Verwandte Artikel:
So implementieren Sie einen benutzerdefinierten Ereignismechanismus mit Javascript
Detaillierte Interpretation der Kartendatenstruktur in Javascript
So entwickeln Sie einen zweidimensionalen Wochenansichtskalender mit Javascript
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das V-Modell in Vue, um die Kommunikation zwischen Eltern-Kind-Komponenten zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

Die Foreach-Schleife in Vue.js verwendet die V-für-Anweisung, mit der Entwickler jedes Element in einem Array oder Objekt durchdringen und bestimmte Operationen für jedes Element ausführen können. Die Syntax ist wie folgt: & lt; Vorlage & gt; & lt; ul & gt; & lt; li v-for = & quot; item in items & gt; & gt; {{item}} & lt;/li & gt; & lt;/ul & gt; & lt;/template & gt; & am

Funktionsabfangen in VUE ist eine Technik, mit der die Häufigkeit, mit der eine Funktion eingerufen wird, innerhalb eines bestimmten Zeitraums aufgerufen wird und Leistungsprobleme verhindern. Die Implementierungsmethode lautet: Importieren Sie die Lodash -Bibliothek: importieren {dunounce} aus 'lodash'; Verwenden Sie die Dabounce -Funktion, um eine Intercept -Funktion zu erstellen: const dabouncedFunction = dunounce (() = & gt; { / logical /}, 500); Rufen Sie die Abfangfunktion auf und die Steuerfunktion wird höchstens einmal in 500 Millisekunden aufgerufen.
