Maison  >  Article  >  interface Web  >  Récupération de données avec Alpine JS

Récupération de données avec Alpine JS

王林
王林original
2024-07-19 14:38:47893parcourir

Cette fois, nous apprendrons à récupérer des données depuis l'API à l'aide d'Alpine JS. Nous allons créer un site Web affichant une liste des clubs de football évoluant dans la Premier League anglaise, tirée de l'API suivante.

Alpine JS est un framework Javascript léger que nous pouvons utiliser pour créer des sites Web interactifs sans avoir à utiliser des frameworks comme React ou Vue. Lorsque vous utilisez Alpine JS, nous pouvons facilement appliquer directement les propriétés Javascript aux fichiers HTML sans avoir besoin de les écrire séparément.

Veuillez créer un fichier HTML portant le nom index.html, puis collez le code suivant.

<!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>

Ensuite, nous allons créer un composant de carte en utilisant 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>

Ensuite, nous récupérerons les données et les afficherons sur le composant de la carte.

<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>

Félicitations ! Vous avez réussi à récupérer l'API à l'aide d'Alpine JS et à l'afficher à l'utilisateur, voici les résultats.

Image description

Ce qui suit est une explication du code créé.

Fonctions

x-data pour accueillir les données logiques Javascript à exécuter directement sur la balise HTML. Dans ce code, nous créons une variable appelée teams qui a le type de données array. Cette variable vise à conserver les données issues de la récupération des résultats dans la fonction.

x-init vise à effectuer l'initialisation avant le chargement du composant. Dans ce code, nous insérons une fonction fetch qui a pour but de récupérer les données du endpoint API que nous avons préparé précédemment. Ensuite, avant que la page du navigateur ne s'affiche, Alpine JS effectuera un processus de récupération en coulisses, puis les résultats de la récupération seront collectés dans la variable teams qui a été déclarée au début.

x-for permet d'effectuer le processus itératif de la variable teams puis de la remettre dans la variable team.

x-bind pour afficher des images et x-text pour imprimer des données directement dans l'affichage HTML.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:WebRTC SFU : le guide complet.Article suivant:WebRTC SFU : le guide complet.