Szenario Heute stieß ich bei der Verwendung [Vue warn]: Vermeiden Sie es, eine Eigenschaft direkt zu verändern, da der Wert bei jeder erneuten Darstellung der übergeordneten Komponente überschrieben wird. Verwenden Sie stattdessen eine Daten- oder berechnete Eigenschaft basierend auf dem Wert der Eigenschaft. Zu verändernde Eigenschaft: „Wert“ Diese Warnung wird durch eine benutzerdefinierte Komponente Vue.component("RxSelect", { Modell: { Requisite: "Wert", Ereignis: „Änderung“, }, Requisiten: { Wert: [Zahl, Zeichenfolge], Karte: Karte, }, Vorlage: ` <Auswählen v-Modell="Wert" @change="$emit('ändern', Wert)" > <Option v-für="[k,v] in Karte" :Wert="k" :Schlüssel="k" >{{v}}</option> </Auswählen> `, }); Der von uns verwendete Code scheint in Ordnung zu sein? <Haupt-ID="App"> Das aktuell ausgewählte Geschlecht ist: {{map.get(sex)}} <div> <rx-select :map="Karte" v-model="Geschlecht" /> </div> </main> JavaScript-Code neuer Vue({ el: "#app", Daten: { Karte: neue Karte().set(1, "Vertraulich").set(2, "Männlich").set(3, "Weiblich"), Geschlecht: "", }, }); Nach dem Testen läuft das Programm selbst normal, es gibt kein Problem mit der Werteübertragung zwischen übergeordneten und untergeordneten Komponenten und die bidirektionale Datenbindung wird wirksam, aber der Browser meldet weiterhin einen Fehler. Versuchen Sie zu lösenWir haben einen Weg gefunden
Vue.component("RxSelect", { Modell: { Requisite: "Wert", Ereignis: „Änderung“, }, Requisiten: { Wert: [Zahl, Zeichenfolge], Karte: Karte, }, Daten() { zurückkehren { innererWert: dieser.Wert, }; }, betrachten: Wert(val) { dieser.innerValue = Wert; }, innererWert(Wert) { dies.$emit("ändern", val); }, }, Vorlage: ` <v-Modell auswählen="innererWert"> <Option v-for="[k,v] in Karte" :Wert="k" :Schlüssel="k" >{{v}}</option> </Auswählen> `, }); Der Verwendungscode ist genau derselbe, aber der Code der Komponente lösen Eleganter geht das mit Vue.component("RxSelect", { Modell: { Requisite: "Wert", Ereignis: „Änderung“, }, Requisiten: { Wert: [Zahl, Zeichenfolge], Karte: Karte, }, berechnet: { innererWert: { erhalten() { gib diesen Wert zurück; }, setze(Wert) { dies.$emit("ändern", val); }, }, }, Vorlage: ` <v-Modell auswählen="innererWert"> <Option v-für="[k,v] in Karte" :Wert="k" :Schlüssel="k" >{{v}}</option> </Auswählen> `, }); Oben sind die Details der Probleme und Lösungen aufgeführt, die auftreten, wenn Vue v-model verwendet, um die Werte von übergeordneten und untergeordneten Komponenten bidirektional zu binden. Weitere Informationen dazu, wie Vue v-model verwendet, um die Werte von übergeordneten und untergeordneten Komponenten bidirektional zu binden, finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
1. Erstellen Sie die MySQL-Datenbank nacos_config...
Vorwort Semikolons sind in JavaScript optional un...
Vorwort Der Grund für das Schreiben dieses Artikel...
Vorwort: Ich habe neulich einen Alibaba-Cloud-Hos...
Kürzlich stieß ich im Verlauf des Projekts auf ei...
Super ausführliches Tutorial zur Installation und...
Der vorherige Artikel war eine einfache Überprüfu...
Im aktuellen Projekt müssen wir einen Effekt zum ...
1. Herunterladen Download-Adresse: https://dev.my...
einführen GitLab CE oder Community Edition ist ei...
1. Clustered-Index Tabellendaten werden in der Re...
Vorwort In diesem Artikel wird das Installationst...
Inhaltsverzeichnis Richtige Verwendung von Indize...
Hintergrund In Docker werden vier Container mit d...
1. Übersicht Es gibt drei Möglichkeiten, ein Dock...