\n\nLivrable attendu : Corriger la logique du watcher afin d'éviter les appels en boucle tout en conservant un rechargement correct lors du changement du filtre.","learningResourceType":"Practice problem","educationalLevel":"medium","teaches":["vue","watch","api","compositionapi","performance"],"programmingLanguage":"Vue.js","provider":{"@type":"Organization","name":"CodeDuel","url":"https://codeduel.net"},"step":[{"@type":"HowToStep","text":"Analyse de l'énoncé et du code existant."},{"@type":"HowToStep","text":"Implémentation de la solution technique."},{"@type":"HowToStep","text":"Validation par tests unitaires et IA."}]}
Retour aux cas pratiques
Vue.jsAvancé

Stabilisation d'un watcher provoquant des appels API en boucle

Scénario

Contexte : Vous reprenez un module Vue.js qui recharge automatiquement des données dès qu'un filtre change dans un tableau analytique interne. Le Problème : À chaque mise à jour des données récupérées, le watcher relance un nouvel appel API, créant une boucle infinie et surchargeant le backend. Contraintes : Vous devez conserver l'API Composition. Aucune librairie externe autorisée. La récupération doit rester asynchrone via fetch. Code actuel : <script setup> import { ref, watch } from 'vue'; const filter = ref('all'); const data = ref([]); watch(data, async () => { const res = await fetch(`/api/items?filter=${filter.value}`); data.value = await res.json(); }); </script> Livrable attendu : Corriger la logique du watcher afin d'éviter les appels en boucle tout en conservant un rechargement correct lors du changement du filtre.

Compétences ciblées

vuewatchapicompositionapiperformance
    Stabilisation d'un watcher provoquant des appels API en boucle — mise en situation Vue.js | CodeDuel