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)
Frage 1: Die Schreibmethode, die einen Fehler mel...
Manchmal kommt es in einem Projekt aus irreversib...
Nach vielen schwierigen Einzelschritt-Debuggings ...
Inhaltsverzeichnis 1. Problem 2. Lösung 2.1 Pagin...
Der ElasticSearch-Cluster unterstützt動態請求的方式und靜態...
1. CSS-Schreibformat 1. Inline-Stile Sie können C...
MySQL-Installation (4, 5, 6 können weggelassen we...
1. Ursache: Ich muss eine SQL-Datei importieren, ...
Inhaltsverzeichnis 1. Einleitung 2. Lösung 2.1 Ko...
MySQL ist das beliebteste relationale Datenbankma...
Um den Benutzern beim Layouten der Seite einen an...
Erstellen Sie eine ansprechende Anmelde- und Regi...
Die Trennung von Lese- und Schreibzugriffen in Da...
Die Lösung für die Hintergrundkachelung oder Rahme...
Inhaltsverzeichnis Überblick Leistung.jetzt Konso...