So verwenden Sie die Vue3-Komponente zum asynchronen Laden von Daten Suspense

So verwenden Sie die Vue3-Komponente zum asynchronen Laden von Daten Suspense

Vorwort

Vue3 hat viele auffällige Funktionen hinzugefügt, und die Suspense-Komponente ist eine davon. Sie ist sehr praktisch für die Verarbeitung asynchroner Anforderungsdaten. Dieser Artikel stellt ihre Verwendung anhand einfacher Beispiele vor. Wenn Sie daran interessiert sind, können Sie die offizielle Dokumentation zu Rate ziehen.

Es kommt häufig vor, dass Komponenten eine Art asynchrone Anfrage ausführen müssen, bevor sie korrekt gerendert werden können. Dies wird normalerweise durch einen Mechanismus gehandhabt, den die Entwickler zu diesem Zweck entwickeln. Es gibt viele gute Möglichkeiten, dies zu tun.

Wenn Sie beispielsweise asynchron Daten von einer API abrufen und beim Parsen der Antwortdaten einige Informationen anzeigen möchten, etwa einen Ladeeffekt, können Sie zur Erfüllung solcher Anforderungen die Suspense-Komponente in Vue3 verwenden.

Komponenten erstellen

Erstellen Sie eine Komponente und nennen Sie sie Peoples.vue. Der Komponentencode lautet wie folgt:

<Vorlage>
    <div v-for="(Personen, Index) in Personen.Ergebnisse" :key="Index">
        {{ Personen.Name }} {{ Personen.Geburtsjahr }}
    </div>
</Vorlage>
<Skript>
importiere { ref } von "vue";
Standard exportieren {
    Name: "CyPeoples",
    asynchrones Setup () {
        const Völker = ref(null);
        const headers = { "Inhaltstyp": "application/json" };
        const fetchPeoples = warte auf fetch("https://swapi.dev/api/people", {
            Überschriften,
        });
        peoples.value = warte auf fetchPeoples.json();
        Rückkehr { Völker };
    },
};
</Skript>

Um die Reaktivität des Komponentenzustands sicherzustellen, wird hier ein Ref eingeführt. Gemäß dem obigen Codeausschnitt werden die Filmdaten also über einen asynchronen API-Aufruf abgerufen.
Zum Initiieren von HTTP-Anfragen in VUE-Projekten wird normalerweise Axios verwendet. Hier versuchen wir, fetch zu verwenden.

Ok, verwenden wir jetzt Suspense, um Ladeinformationen in der Anwendung anzuzeigen.

Ändern Sie die Datei App.vue, um den Code wie folgt zu erstellen:

<Vorlage>
    <div>
        <h1>Star Wars Charaktere</h1>
    </div>
    <Spannung>
        <Vorlage #Standard>
            <CyPeoples />
        </Vorlage>
        <Vorlage #fallback>
            <div>
                <h3>Daten werden geladen...</h3>
            </div>
        </Vorlage>
    </Spannung>
</Vorlage>
<Skript>
importiere CyPeoples aus "./components/Peoples.vue";
importiere {Spannung} von "vue";
Standard exportieren {
    Name: "App",
    Komponenten:
        CyPeoples,
        Spannung,
    },
};
</Skript>

Aus dem obigen Codeausschnitt geht hervor, dass der Ladeeffekt problemlos mithilfe der Suspense-Komponente erzielt werden kann, wobei #default als Initialisierungsvorlagenkomponente zum Anzeigen der Benutzeroberfläche nach Abschluss der asynchronen Anforderung verwendet wird. Der #Fallback ist die Verarbeitungs-Benutzeroberfläche in der asynchronen Anforderung, die den allgemeinen Ladeeffekt darstellt.

Zusammenfassen

Die Suspense-Komponente ist eine neue Funktion von Vue3, die die Verarbeitungslogik der asynchronen Anforderungs-UI vereinfacht.

Dies ist das Ende dieses Artikels über die Spannung der Vue3-Komponente zum asynchronen Laden von Daten. Weitere verwandte Inhalte zur Spannung der Vue3-Komponente zum asynchronen Laden von Daten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue3.0+vite2 implementiert dynamisches asynchrones Lazy Loading von Komponenten
  • Tiefgreifendes Verständnis der dynamischen und asynchronen Komponenten von Vue
  • Vue implementiert On-Demand-Komponentenladen und asynchrone Komponentenfunktionen
  • Detaillierte Erläuterung der dynamischen und asynchronen Vue-Komponenten
  • Detaillierte Erläuterung asynchroner Komponenten in der Vue-Komponentenentwicklung

<<:  Installation, Konfiguration und Deinstallation von MySQL 8.0 in einer Windows-Umgebung

>>:  VMware Workstation Pro installiert das Win10-Betriebssystem in Reinform

Artikel empfehlen

Anzeigemodus von Elementen in CSS

In CSS werden Element-Tags entsprechend den unter...

JavaScript zum Erzielen eines Digitaluhreffekts

In diesem Artikelbeispiel wird der spezifische Ja...

Zusammenfassung der HTML-Hack-Tags im IE-Browser

Code kopieren Der Code lautet wie folgt: <!--[...

MySQL-Lösung für die Konfiguration mehrerer Instanzen

1.1 Was ist MySQL Multi-Instance? Einfach ausgedr...

Linux nutzt duale Netzwerkkartenbindung und Schraubendreherschnittstelle

Was ist eine Bindung? NIC-Bond ist eine Technolog...

JSON (JavaScript Object Notation) in einem Artikel verstehen

Inhaltsverzeichnis JSON wird angezeigt JSON-Struk...

JS ES: Neue Funktion zur variablen Entkopplungszuweisung

Inhaltsverzeichnis 1. Entkoppelte Zuweisung von A...

HTML-Tutorial: Sortierte Listen

<br />Originaltext: http://andymao.com/andy/...

Inaktive Benutzer nach einem Login-Timeout in Linux automatisch abmelden

Methode 1: Ändern Sie die Datei .bashrc oder .bas...