Projektszenario:Auf der Seitenanzeige befindet sich ein <ul>-Tag. Wir müssen die Listendaten dynamisch anzeigen. Neben den Listenwerten müssen auf unserer Seite noch weitere Werte angezeigt werden. Daher ist die Datenstruktur der Listendaten ein Array unter einem Objekt. Nach der dynamischen Änderung der Daten wird festgestellt, dass sie nicht automatisch gerendert werden. Problembeschreibung: Wenn Sie auf die Schaltfläche „Klick mich!“ klicken, ändern sich die Daten und werden an die Konsole ausgegeben, die Listendaten werden jedoch nicht gerendert. <script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app"> <button @click="pushDataToDataList">klick mich!</button> <ul> <li v-for="(Element, i) in form.dataList" :key="Element"> {{ i + ":" + Artikel }} </li> </ul> </div> <Skript> let app = neues Vue({ Daten: Funktion() { zurückkehren { bilden: {} } }, Methoden: { pushDataToDataList() { wenn (diese.form.dataList == null) { dieses.Formular.Datenliste = [] } this.form.dataList.push("abc" + this.form.dataList.length) Konsole.log(dieses.Formular.Datenliste) } } }).$mount('#app') </Skript> Ursachenanalyse:Nach Durchsicht der offiziellen Dokumentation fanden wir die folgende Passage
Der Grund ist hier klar. Unsere Daten werden nicht gerendert, da zu Beginn im Formular unter Daten kein
Lösung: 1. Legen Sie im Formularobjekt unter „Daten“ Daten: Funktion() { zurückkehren { bilden: { Datenliste: null } } } 2. Verwenden Sie die Methode this.$set() pushDataToDataList() { wenn (diese.form.dataList == null) { // Legen Sie zuerst die dataList-Eigenschaft unter der Form this.$set(this.form, 'dataList', []) fest. } this.form.dataList.push("abc" + this.form.dataList.length) Konsole.log(dieses.Formular.Datenliste) } ReferenzlinksHinweise zur Erkennung von Datenänderungen durch Vue Dies ist das Ende dieses Artikels zur Lösung des Problems, dass Vue-gebundene Objekte und Array-Variablen nach Änderungen nicht gerendert werden können. Weitere verwandte Inhalte zum Problem, dass Vue-gebundene Objekte und Array-Variablen nach Änderungen nicht gerendert werden können, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: So installieren Sie MySQL 8.0.13 in Alibaba Cloud CentOS 7
Im vorherigen Artikel wurde erwähnt, dass die in ...
Probleme, die bei der Optimierung auftreten könne...
Die Implementierung des Suchbinärbaums in JavaScr...
Die google.html-Schnittstelle ist wie in der Abbil...
Vorne geschrieben Weibo-Komponenten sind Komponen...
Wenn es um Datenbanken geht, ist eine der am häuf...
Nach der Installation eines Centos8-Dienstes unte...
Traditionell erstellen Entwickler Eigenschaften i...
Inhaltsverzeichnis Vorwort: 1. Kurze Einführung i...
Hintergrund Navicat ist das beste MySQL-Visualisi...
Mit etwa Version 0.6 wurde Privileged in Docker e...
In diesem Artikel wird hauptsächlich der Stil der...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...
1. InnoDB-Sperrmechanismus Die InnoDB-Speicher-En...
System: CentOS 7 RPM-Pakete: mysql-community-clie...