1. Was ist bidirektionale Datenbindung? Vue.js ist ein MV-VM-Framework, was bidirektionale Datenbindung bedeutet. Wenn sich die Daten ändern, ändert sich auch die Ansicht, und wenn sich die Ansicht ändert, ändern sich auch die Daten synchron. Dies ist die Essenz von Vue.js. 1. Warum müssen wir eine bidirektionale Datenbindung implementieren?Wenn Sie in Vue.js vuex verwenden, sind die Daten tatsächlich unidirektional. Der Grund, warum es bidirektionale Datenbindung genannt wird, liegt darin, dass es UI-Steuerelemente verwendet. Für uns ist die bidirektionale Datenbindung von Vue.js zur Verarbeitung von Formularen besonders komfortabel zu verwenden. Das heißt, die beiden schließen sich nicht gegenseitig aus. Die Verwendung der unidirektionalen Methode im globalen Datenfluss ist für die Nachverfolgung praktisch; die Verwendung der bidirektionalen Methode im lokalen Datenfluss ist einfach und leicht zu handhaben. 2. Verwenden Sie die bidirektionale Datenbindung in Formularen Mit der V-Model-Direktive können Sie eine bidirektionale Datenbindung für Formulare und Elemente erstellen. Es wählt automatisch die richtige Methode zum Aktualisieren des Elements basierend auf dem Steuerelementtyp aus. Trotz seiner Magie ist das V-Modell im Wesentlichen nur syntaktischer Zucker. Es ist dafür verantwortlich, auf Benutzereingaben zu warten, um Daten zu aktualisieren und in einigen Extremszenarien spezielle Verarbeitungsvorgänge durchzuführen. 1. Einzeiliger Text<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Eingabetext: <input type="text" v-model="message" value="hello">{{message}} </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ Nachricht:"" } }); </Skript> </body> </html> 2. Mehrzeiliger Text<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Mehrzeiliger Text: <textarea v-model="pan"></textarea> Mehrzeiliger Text ist: {{pan}} </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ pan:"Hallo hallo!" } }); </Skript> </body> </html> 3. Einzelnes Kontrollkästchen<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Einzelnes Kontrollkästchen: <input type="checkbox" id="checkbox" v-model="aktiviert"> <label für="checkbox">{{aktiviert}}</label> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ aktiviert:false } }); </Skript> </body> </html> 4. Mehrere Kontrollkästchen<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Mehrere Kontrollkästchen: <Eingabetyp="Kontrollkästchen" ID="Jack" Wert="Jack" v-Modell="checkedNames"> <label für="jack">Jack</label> <input type="checkbox" id="beitreten" value="Beitreten" v-model="checkedNames"> <label für="join">Jack</label> <input type="checkbox" id="mike" value="Mike" v-model="checkedNames"> <label für="mike">Mike</label> <span>Überprüfter Wert: {{checkedNames}}</span> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ geprüfte Namen:[] } }); </Skript> </body> </html> 5. Optionsfelder<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Optionsfeld <input type="radio" id="one" value="One" v-model="picked"> <label for="one">Eins</label> <input type="radio" id="zwei" value="Zwei" v-model="ausgewählt"> <label for="two">Zwei</label> <span>Ausgewählter Wert: {{picked}}</span> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ ausgewählt: 'Zwei' } }); </Skript> </body> </html> 6. Dropdown-Feld<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> Dropdown-Feld: <v-Modell auswählen="pan"> <option value="" deaktiviert>---Bitte wählen---</option> <option>A</option> <option>B</option> <option>C</option> <option>D</option> </Auswählen> <span>Wert:{{pan}}</span> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> var vm = neuer Vue({ el:"#app", Daten:{ Schwenken: „A“ } }); </Skript> </body> </html> Hinweis: Der Anfangswert des V-Modell-Ausdrucks stimmt mit keiner Option überein und das Element wird als „nicht ausgewählt“ gerendert. Unter iOS verhindert dies, dass der Benutzer die erste Option auswählt, da iOS in diesem Fall das Änderungsereignis nicht auslöst. Daher wird eher empfohlen, eine deaktivierte Option mit einem leeren Wert bereitzustellen, wie oben gezeigt. 3. Was ist eine Komponente?
1. Die erste Vue-Komponente Hinweis: Bei der tatsächlichen Entwicklung werden wir Komponenten nicht auf die folgende Weise entwickeln, sondern vue-cli verwenden, um mithilfe von Vue-Vorlagendateien zu erstellen und zu entwickeln. Die folgende Methode soll Ihnen nur dabei helfen, zu verstehen, was Komponenten sind. <div id="app"> <schwenken></schwenken> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skripttyp="text/javascript"> //Registriere zuerst die Komponente Vue.component("pan",{ Vorlage:'<li>Hallo</li>' }); //Vue erneut instanziieren var vm = neuer Vue({ el:"#app", }); </Skript> veranschaulichen:
2. Verwenden Sie Props-Attribute, um Parameter zu übergeben Es macht keinen Sinn, Komponenten wie oben zu verwenden, also müssen wir Parameter an Komponenten übergeben, und hier müssen wir das Props-Attribut verwenden! <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> <!--Komponente, an die Komponente übergebener Wert: props--> <cpn v-for="Artikel in Artikeln" v-bind:itemChild="Artikel"/> </div> <!--1. Importieren Sie vue.js--> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skript> // Definieren Sie eine Vue-Komponente component Vue.component("cpn",{ Requisiten: ['itemChild'], Vorlage: `<li>{{itemChild}}</li>` }) var vm = neuer Vue({ el: '#app', Daten: { Elemente: ['One Piece', 'Naruto', 'Sword Art Online'] } }); </Skript> </body> </html> veranschaulichen:
Oben finden Sie eine ausführliche Erläuterung der Vue-Formularbindung und -Komponenten. Weitere Informationen zur Vue-Formularbindung und -Komponenten finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Tutorial zur Installation von MySQL 5.7.18 auf Mac OS 10.12
>>: Nginx-Installation und Umgebungskonfiguration unter Windows (Ausführen von Nginx als Dienst)
Dieser Artikel zeigt ein verschiebbares Anmeldefe...
Einführung in Debian Debian bezeichnet im weitere...
1. Wenn der Benutzer über die Berechtigung zum Er...
Wenn Sie einer Option das Attribut selected = &quo...
MySQL ermöglicht das Erstellen mehrerer Indizes f...
Bei unserer täglichen Arbeit führen wir manchmal ...
<Text> <div id="Wurzel"> &l...
Einführung in NFS NFS (Network File System) ist e...
Inhaltsverzeichnis verifizieren: Kombiniert mit d...
Seitendesigns im dunklen Hintergrundstil sind seh...
Inhaltsverzeichnis Über Maxwell Konfiguration und...
1. WebDesignerWall 2. Veerles Blog 3. Lernprogram...
DCL (Data Control Language): Datenkontrollsprache...
Möglicherweise ist Ihnen aufgefallen, dass auf die...
Vorwort Meine Anforderungen sind Syntaxhervorhebu...