Heim  >  Artikel  >  Web-Frontend  >  Abrufen von Daten mit Alpine JS

Abrufen von Daten mit Alpine JS

王林
王林Original
2024-07-19 14:38:47896Durchsuche

Dieses Mal lernen wir das Abrufen von Daten von der API mit Alpine JS. Wir werden eine Website erstellen, die eine Liste der Fußballvereine anzeigt, die in der englischen Premier League spielen, entnommen aus der folgenden API.

Alpine JS ist ein leichtes Javascript-Framework, mit dem wir interaktive Websites erstellen können, ohne Frameworks wie React oder Vue verwenden zu müssen. Wenn wir Alpine JS verwenden, können wir Javascript-Eigenschaften ganz einfach direkt auf HTML-Dateien anwenden, ohne sie separat schreiben zu müssen.

Bitte erstellen Sie eine HTML-Datei mit dem Namen index.html und fügen Sie dann den folgenden Code ein.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Latihan Alpine JS</title>

    <!-- Import Alpine JS -->
    <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

    <!-- Import Tailwind -->
    <script src="https://cdn.tailwindcss.com"></script>

    <!-- Google Fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet"/>

    <style>
      * {
        font-family: "Roboto", sans-serif;
      }
    </style>
  </head>
  <body>

  </body>
</html>

Als nächstes erstellen wir eine Kartenkomponente mit Tailwind CSS.

<div class="container px-4 py-12 mx-auto">
  <div class="flex flex-wrap">
    <div class="lg:w-1/4 md:w-1/2 p-4 w-full">
      <img alt="logo" class="object-cover h-56 mx-auto" src="" />
      <div class="mt-4">
        <h2 class="text-gray-500 text-xs tracking-widest mb-1"></h2>
        <h1 class="text-gray-900 text-xl font-medium"></h1>
      </div>
    </div>
  </div>
</div>

Dann holen wir die Daten ab und zeigen sie auf der Kartenkomponente an.

<div class="flex flex-wrap" x-data="{ teams: [] }" x-init="fetch('https://www.thesportsdb.com/api/v1/json/3/search_all_teams.php?l=English%20Premier%20League').then(response => response.json()).then(data => { teams = data.teams })">
  <template x-for="team in teams">
    <div class="lg:w-1/4 md:w-1/2 p-4 w-full">
      <img x-bind:alt="team.idTeam" class="object-cover h-56 mx-auto" x-bind:src="team.strBadge" />
      <div class="mt-4">
        <h2 class="text-gray-500 text-xs tracking-widest mb-1" x-text="team.strLocation"></h2>
        <h1 class="text-gray-900 text-xl font-medium" x-text="team.strTeam"></h1>
      </div>
    </div>
  </template>
</div>

Herzlichen Glückwunsch! Sie haben die API erfolgreich mit Alpine JS abgerufen und dem Benutzer angezeigt. Hier sind die Ergebnisse.

Image description

Im Folgenden finden Sie eine Erläuterung des erstellten Codes.

x-data-Funktionen zur Aufnahme von Javascript-Logikdaten, die direkt auf dem HTML-Tag ausgeführt werden sollen. In diesem Code erstellen wir eine Variable namens Teams, die den Datentyp Array hat. Diese Variable dient dazu, Daten aus dem Abruf von Ergebnissen in der Funktion zu speichern.

x-init zielt darauf ab, eine Initialisierung durchzuführen, bevor die Komponente geladen wird. In diesen Code fügen wir eine Abruffunktion ein, die darauf abzielt, Daten vom API-Endpunkt abzurufen, den wir zuvor vorbereitet haben. Bevor dann die Browserseite angezeigt wird, führt Alpine JS hinter den Kulissen einen Abrufvorgang durch und dann werden die Ergebnisse des Abrufs in der Teams-Variable gesammelt, die zu Beginn deklariert wurde.

x-for wird verwendet, um den iterativen Prozess der Teamvariablen durchzuführen und ihn dann wieder in die Teamvariable einzufügen.

x-bind zum Anzeigen von Bildern und x-text zum Drucken von Daten direkt in die HTML-Anzeige.

Das obige ist der detaillierte Inhalt vonAbrufen von Daten mit Alpine JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn