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:
|
Inhaltsverzeichnis 1 Indikatoren im Stresstest 1,...
Auf Kali reproduzieren Legen Sie zunächst die Sui...
Erstellen Sie Ihre erste Webseite in einer Minute...
In diesem Artikel wird der spezifische JavaScript...
MySQL-Ansichten Einfach ausgedrückt ist eine MySQ...
In diesem Artikel wird der spezifische Code zur V...
In diesem Artikel wird hauptsächlich erläutert, w...
Seit Zabbix Version 3.0 wird verschlüsselte Kommu...
gzip ist ein Befehl, der in Linux-Systemen häufig...
Füge im CSS-Style des Elements, welches die Hinte...
Dieser Artikel veranschaulicht anhand von Beispie...
Installationsreihenfolge rpm -ivh mysql-community...
In niedrigeren Versionen von Firefox können keine ...
In diesem Artikel wird der spezifische Code zum I...
Das Zählen der Größe jeder Tabelle in jeder Daten...