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

So sichern Sie MySQL regelmäßig und laden es auf Qiniu hoch

In den meisten Anwendungsszenarien müssen wir wic...

Benutzerdefinierte Tabbar-Komponente für das WeChat-Applet

In diesem Artikel wird der spezifische Code der b...

Vorgehensweise, wenn die Online-MySQL-Auto-Increment-ID erschöpft ist

Inhaltsverzeichnis Tabellendefinition - automatis...

Implementierung der Multi-Environment-Konfiguration (.env) des Vue-Projekts

Inhaltsverzeichnis Was ist eine Multiumgebungskon...

So erstellen und implementieren Sie ein Node-Projekt mit Docker

Inhaltsverzeichnis Was ist Docker Clientseitiger ...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...

Die perfekte Lösung für das AutoFill-Problem in Google Chrome

In Google Chrome werden Sie nach der erfolgreiche...

Detaillierte Erläuterung der Beispiele für CSS-Gewichtswerte (Kaskadierung)

•Es gibt viele Selektoren in CSS. Was passiert, w...

...

Ursachen und Lösungen für Verzögerungen bei der MySQL Master-Slave-Replikation

Inhaltsverzeichnis Ein kurzer Überblick über die ...

Vue-Interpretation der responsiven Prinzip-Quellcode-Analyse

Inhaltsverzeichnis Initialisierung initState() in...

Native js realisiert das Ziehen und Ablegen des Neun-Quadrat-Rasters

Verwenden Sie natives JS, um ein neuneckiges Rast...