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:
|
Das Clustering ist eigentlich relativ zur InnoDB-...
Bei einer Website bezieht sich die Benutzerfreundl...
<br />Original: http://uicom.net/blog/?p=762...
Alibaba Cloud kauft Server Kaufen Sie einen Cloud...
Datenbank anzeigen show databases; Erstellen eine...
Inhaltsverzeichnis Vorwort denken Analysieren und...
Das Modul async_hooks ist eine experimentelle API...
Nachdem wir den transform Kurs abgeschlossen habe...
Inhaltsverzeichnis 1. Lernen Sie, je nach Anforde...
Dieser Artikel zeichnet das Installations-Tutoria...
Timer-Effekte: <div> <font id='timeC...
Was ist ein Deckungsindex? Das Erstellen eines In...
Meine MySQL-Version ist MySQL V5.7.9, bitte verwe...
Vier Netzwerktypen: Keine: Konfigurieren Sie kein...
Dieser Artikel dokumentiert die vollständige Dein...