1. Dies ist etwas kompliziert zu verstehen. Ich hoffe, Sie können das Prinzip sorgfältig lesen und selbst eingeben: <!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> </Kopf> <Text> <div id="app"> <zu erledigen> <xian slot="xian" :title="Titel"></xian> // Es wird empfohlen, von hinten nach vorne zu lesen und zu verstehen, dass der durchlaufene Wert v-bind zugewiesen wird und der Wert von v-bind dem gleichnamigen Wert in den Requisiten zugewiesen wird // [Erinnerung] v-on: Der gebundene benutzerdefinierte Ereignisname wird automatisch in Kleinbuchstaben umgewandelt. Wenn jemand einen Ereignisnamen in Großbuchstaben verwendet, wird das folgende this.$emit immer noch in Großbuchstaben umgewandelt und bindet nicht <yu slot="yu" v-for="(item,index) in items" v-bind:item="Artikel" v-bind:index="Index" v-on:remove="deleteItems(index)"></yu> // Die Vue-Instanz bindet Daten und Methoden an die Ansichtsebene, und die Ansichtsebene verteilt diese Daten und Methoden zur Bindung an die darunter liegenden Komponenten. Die Ansicht entspricht der Übertragung der Daten und Methoden der Vue-Instanz zur Steuerung an die Komponenten</todo> </div> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script> <Skript> Vue.component("todo",{ Vorlage: '<div>\ <slot name="xian"></slot>\ <ul>\ <slot name="yu"></slot>\ </ul>\ </div>' }); Vue.Komponente("xian",{ Requisiten: ['Titel'], Vorlage: '<div>{{title}}</div>' }); Vue.component("yu",{// props ist der Parametername, ähnlich dem Variablennamen, der nach Belieben definiert werden kann. v-bind bindet an die Variable, nämlich die Daten und die definierten Variablen-Props: ['item', 'index'], // Kann nur die Methode der aktuellen Komponentenvorlage binden: '<li>{{index}}---->{{item}}<button @click="remove">löschen</button></li>', Methoden: { entfernen: Funktion (Index) { // this.$emit benutzerdefinierte Ereignisverteilung // [Hinweis] this.$emit('Ereignisname') sollte Kebab-Case (Benennung mit kurzem Bindestrich) verwenden, nicht CamelCased; dies.$emit('entfernen',index); } } }); var vm = neuer Vue({ el: "#app", Daten: { Titel: "Autor", Elemente: ['Gesalzener Fisch dreht sich 1', 'Gesalzener Fisch dreht sich 2', 'Gesalzener Fisch dreht sich 3'] }, Methoden: { deleteItems: Funktion (Index) { console.log("Sie haben "+this.items[index]) gelöscht; dies.items.splice(index,1); } } }); </Skript> </body> </html> Laufergebnisse: Wenn wir auf Löschen klicken, können wir jeden Autorennamen löschen. Hier klicke ich auf Löschen, und das Ergebnis ist wie folgt: 2. Hier ist ein Bild zum besseren Verständnis: Das Verständnis ist wahrscheinlich folgendes: Methoden zwischen Komponenten und Instanzen können nicht interoperabel sein, und der zu löschende Knoten gehört zum Attribut der Instanz. Daher wird durch die Ereignisverteilung die in der Komponente definierte Methode auf die in der Instanz definierte Methode übertragen und dann der Knoten gelöscht. ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Ausführen von PostgreSQL in Docker und Empfehlung verschiedener Verbindungstools
>>: Eine kurze Diskussion über die Optimierung von MySQL-Paging für Milliarden von Daten
Manchmal müssen wir eine ganze Datenspalte aus ei...
Die Informationen auf Baidu sind so vielfältig, d...
Heutzutage ist die Anwendungsentwicklung grundsät...
http://www.cppcns.com/shujuku/mysql/283231.html S...
1. Aktivieren Sie Prometheus-Telemetriedaten Stan...
Problem 1: Baidu Map verwendet gekachelte Bilder ...
In diesem Artikel wird der spezifische JavaScript...
SQL findet alle doppelten Datensätze in einer Tab...
Original : http://developer.yahoo.com/performance...
Wenn es um Tool-Websites geht, haben wir zunächst...
Ein Bildlink <img src="" /> Ich m...
MySQL-Version: MySQL Community Edition (GPL) ----...
Inhaltsverzeichnis Stile in uni-app Zusammenfasse...
Inhaltsverzeichnis 1. Umweltvorbereitung 2. Ausfü...
Inhaltsverzeichnis Modusparameter HashHistorie Ha...