Lösung für das Vue-Datenzuweisungsproblem

Lösung für das Vue-Datenzuweisungsproblem

Lassen Sie mich ein Problem zusammenfassen, mit dem ich seit langem konfrontiert bin.

Im Projekt werden die Hintergrunddaten benötigt, um das Frontend zu rendern. Dabei kommt Axios integriert mit Vue zum Einsatz. Die Hook-Funktion in Vue wird verwendet, um nach dem Mounten der Seitenkomponente eine Get-Anfrage an den Hintergrund zu senden und anschließend die zurückgegebenen Daten den in data() definierten Attributen zuzuweisen:

Nach der Ausführung meldet das Frontend einen Fehler:

Grund:

Nachdem die Anfrage erfolgreich ausgeführt wurde, wird der Inhalt der Callback-Funktion ausgeführt. Die Callback-Funktion befindet sich innerhalb anderer Funktionen und ist an kein Objekt gebunden und undefiniert.

Lösung:

1) Weisen Sie diesen Verweis auf das Vue-Objekt der von der externen Methode definierten Eigenschaft zu und verwenden Sie diese Eigenschaft dann in der internen Methode

2) Verwenden von Pfeilfunktionen

Ergänzung: Lösen Sie das undefinierte Problem des Aufrufs zwischen Daten in Vue-Daten

Lösung:

Eine Lösung gibt es nicht, das kann man so gar nicht nennen.

Obwohl dies in der Datenfunktion auf VueComponent verweist (Verständnis: Die Daten in den Daten können dies verwenden, um die Daten in den Requisiten aufzurufen), wurden die Daten in den Daten beim Aufrufen eines anderen Attributs in den Daten noch nicht analysiert, da beim Zurückgeben des {}-Objekts alle darin enthaltenen Daten zusammen gerendert und analysiert werden, sodass das undefinierte Problem auftritt.

(Das Obige ist nur mein persönliches Verständnis. Wenn Fehler vorhanden sind, kommentieren Sie diese bitte und korrigieren Sie sie.)

Wählen Sie daher die Option zum Abschließen der Zuweisungsoperation im bereitgestellten Lebenszyklus.

Standard exportieren {
 Daten(){
  zurückkehren {
  Vorname:'111',
  Nachname:'222',
  vollständiger Name:''
  }
 },
 montiert(){
 dieser.vollständigerName = dieser.vorname + '' + dieser.nachname;
 } 
 }

Ergebnisse anzeigen:

Wenn fullName nicht in den Daten definiert werden muss, kann es natürlich eleganter sein, es in der berechneten Eigenschaft zu definieren.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • So legen Sie fest, dass die Eingabe in Vue nicht bearbeitet werden kann
  • Lösung für das Problem, dass Vue den Eingabewert erhält
  • Lösung für eine ungültige (unveränderte) Neuzuweisung eines Vue-Datenobjekts
  • Nachdem die Eingabe in Vue zugewiesen wurde, kann sie nicht mehr geändert und gelöst werden

<<:  Verlustfreie Erweiterungsmethode unter Linux

>>:  MySQL deaktiviert die Überprüfung der Kennwortstärke

Artikel empfehlen

Detaillierte Erläuterung der Mybatis-Sonderzeichenverarbeitung

Vorwort: Mybatis-Sonderzeichenverarbeitung, Verar...

MySQL 8.0.13 Download- und Installations-Tutorial mit Bildern und Text

MySQL ist die am häufigsten verwendete Datenbank....

Erste Schritte mit dem Animieren von SVG-Pfadstrichen mit CSS3

Ohne auf JavaScript angewiesen zu sein, wird rein...

Beheben von Problemen mit hoher MySQL-CPU-Auslastung

Hohe CPU-Last durch MySQL Heute Nachmittag habe i...

Wird CSS3 SCSS wirklich ersetzen?

Beim Styling unserer Webseiten haben wir die Wahl...

Farbschemata für Websites Die richtigen Farben für Ihre Website auswählen

Beeinflusst Farbe die Website-Besucher? Vor einig...

Implementierung der MySQL5.7 mysqldump-Sicherung und -Wiederherstellung

MySQL-Sicherung Kaltes Backup:停止服務進行備份,即停止數據庫的寫入H...

Vier praktische Tipps für JavaScript-String-Operationen

Inhaltsverzeichnis Vorwort 1. Eine Zeichenfolge t...

So installieren und konfigurieren Sie den Postfix-Mailserver unter CentOS 8

Postfix ist ein kostenloser und quelloffener MTA ...

Reiner CSS3-Code zur Implementierung einer laufenden Uhr

Wirkung der OperationCode-Implementierung html &l...

HTML löst das Problem ungültiger Tabellenbreiteneinstellungen

Wenn Sie den Stil „table-layer:fixed“ für eine Ta...

Erklärung der Funktionsweise und Verwendung von Redux

Inhaltsverzeichnis 1. Was ist Redux? 2. Das Redux...

Node.js verwendet die Express-Fileupload-Middleware zum Hochladen von Dateien

Inhaltsverzeichnis Initialisieren des Projekts Sc...