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

JavaScript zum Implementieren einer einfachen Uhr

In diesem Artikelbeispiel wird der spezifische Co...

Beispiele für die Verwendung der oder-Anweisung in MySQL

1. Die Verwendung der oder Syntax in MySQL und di...

Eine detaillierte Einführung in die Betriebssystemebenen von Linux

Inhaltsverzeichnis 1. Einführung in die Linux-Sys...

Wird der Index durch MySQL ungültig?

Wird MySQLs IN den Index ungültig machen? Gewohnh...

So fahren Sie nginx herunter/starten es neu

Schließung Dienst Nginx stoppen systemctl stoppt ...

So installieren Sie das Programm setup.py unter Linux

Führen Sie zuerst den Befehl aus: [root@mini61 se...

So legen Sie MySQL-Berechtigungen mit phpmyadmin fest

Inhaltsverzeichnis Schritt 1: Melden Sie sich als...

jQuery implementiert die Anzeige und Ausblendung von Anzeigenanimationen

Wir sehen oft, dass Anzeigen nach ein paar Sekund...

Detaillierte Schritte zum Debuggen von VUE-Projekten in IDEA

Um JS-Code zu debuggen, müssen Sie jedes Mal eine...

Docker-Compose-Installationsmethode für die YML-Dateikonfiguration

Inhaltsverzeichnis 1. Offline-Installation 2. Onl...