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. Öffnen Sie die virtuelle CentOS 7-Maschine. 2....
* Adresse - Adresse * Blockzitat - Blockzitat * Mi...
In diesem Artikel wird der Unterschied zwischen P...
Ich hatte nichts zu tun, also kaufte ich zum Lern...
Inhaltsverzeichnis Vorwort Was ist SSH? Wofür wir...
Bild-Tag <IMG> einfügen Die farbenfrohen Web...
Vor etwa einem Jahr habe ich einen Artikel geschr...
In diesem Artikel wird der spezifische JavaScript...
<br /> Englisches Original: http://desktoppu...
Inhaltsverzeichnis Was ist ein Skelettsieb? Demo ...
1. Python-Installation 1. Erstellen Sie einen Ord...
Link zum Download der ZIP-Datei auf der offiziell...
Um die JSON-Daten in einem schönen eingerückten F...
Inhaltsverzeichnis 1. Laden Sie die WeChat-Entwic...
Inhaltsverzeichnis Warum react-beautiful-dnd wähl...