Verwendung von this.$set in VueHintergrund : Als ich ein Front-End-Projekt schrieb, gab uns das Back-End ein JSON-Objekt und ich renderte es auf der Seite. Aus eigenen Gründen möchte ich dem zurückgegebenen Objekt jedoch ein Feld hinzufügen, also füge ich ein Feld hinein. Das Feld wird hinzugefügt, aber die Seitendarstellung ändert sich nicht. Später wurde mir klar, dass es nicht reagierte. Wenn dieses neue Feld reagieren soll, müssen wir this.$set verwenden, um Daten einzufügen. Wenn in den Daten von Vue ein Objekt oder Array (der Wert im Array ist ein Objekt) deklariert oder zugewiesen wird, führt das Hinzufügen einer neuen Eigenschaft zum Objekt und das Aktualisieren des Werts dieser Eigenschaft nicht zu einer Aktualisierung der Ansicht. verwenden Hier ein kleines Beispiel: Fügen Sie einem Objekt eine Alterseigenschaft hinzu und sorgen Sie dafür, dass sie sich reaktionsschnell ändert <Vorlage> <div Klasse="Text"> <p>{{Liste}}</p> <button @click="add">Alter++</button> </div> </Vorlage> <Skript> Standard exportieren { Daten(){ zurückkehren { Liste: {Name: "Zhang San"} } }, Methoden: { hinzufügen(){ if(!this.list.age){ // Wenn kein Altersattribut vorhanden ist, fügen Sie ein Altersattribut hinzu this.list.age=18 }anders{ diese.Liste.Alter++ } konsole.log(diese.liste) } } } </Skript> Wenn wir Die Daten werden zwar hinzugefügt, aber die Seite rendert die Alterseigenschaft nicht entsprechend. Wenn wir Wir können sehen, dass die hinzugefügten Daten reagieren. Warum responsiv?Wenn Sie genau hinsehen, können Sie erkennen, dass this.$set über zusätzliche Methoden zum Abrufen und Festlegen des Alters verfügt, weshalb es reaktionsfähig ist. analysierenDas responsive Prinzip von Vue besteht darin, dass ein JavaScript-Objekt als Datenoption an eine Vue-Instanz übergeben wird. Vue durchläuft alle Eigenschaften dieses Objekts und verwendet Object.defineProperty, um alle diese Eigenschaften in Getter/Setter umzuwandeln. Diese Getter/Setter sind für den Benutzer unsichtbar, aber intern ermöglichen sie es Vue, Abhängigkeiten zu verfolgen und Änderungen zu melden, wenn auf Eigenschaften zugegriffen und diese geändert werden. Dabei ist zu beachten, dass verschiedene Browser Getter/Setter beim Drucken von Datenobjekten in der Konsole unterschiedlich formatieren. Die folgende Abbildung stammt aus der offiziellen Dokumentation. ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: So fragen Sie die Schnittmenge von Zeiträumen in MySQL ab
>>: PNG-Alpha-Transparenz in IE6 (vollständige Sammlung)
Inhaltsverzeichnis 1. Problemhintergrund 2. Welch...
Inhaltsverzeichnis 1. Unterabfragedefinition 2. U...
In der folgenden Analyse geht es um Produktdesign...
[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...
Durch die Verwendung von iFrames können problemlo...
Vorwort Ich arbeite derzeit an einem hochwertigen...
Während des Entwicklungsprozesses verwenden wir h...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Einführung in den MySQL-Ind...
1.vue-Verpackung Hier verwenden wir den Befehl „v...
Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...
Warum habe ich das verwendet? Alles begann mit de...
Vorwort Der Befehl „Explain“ ist die primäre Mögl...
Inhaltsverzeichnis Voraussetzungen DNS-Domänennam...
Vorwort: Die verteilte Master-Slave-Architektur v...