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-Canvas zum Erzielen von Meteoreffekten

In diesem Artikel wird der spezifische Code für J...

Der gesamte Prozessdatensatz der rekursiven Komponentenkapselung von Vue3

Inhaltsverzeichnis Vorwort 1. Rekursive Komponent...

Hinweise zur Groß-/Kleinschreibung bei MySQL

Inhaltsverzeichnis Die Groß-/Kleinschreibung von ...

So stellen Sie ein Vue-Projekt mit Docker-Image + nginx bereit

1. Vue-Projekt verpacken Geben Sie den folgenden ...

Das WeChat-Applet realisiert den Neun-Quadrat-Rastereffekt

In diesem Artikel wird der spezifische Code für d...

Detaillierte Erklärung des JavaScript-Fortschrittsmanagements

Inhaltsverzeichnis Vorwort Frage Prinzip prüfen V...

So erzielen Sie mit three.js einen dynamischen 3D-Texteffekt

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

Die Verwendung von FrameLayout in sechs Layouts

Vorwort In der letzten Ausgabe haben wir Ihnen Li...

Detaillierte Erklärung dieses Zeigeproblems in JavaScript

Vorwort Glauben Sie mir, solange Sie sich an die ...

React-Beispiel zum Abrufen des Werts aus dem Eingabefeld

Reagieren Sie auf mehrere Arten, um den Wert des ...