Adloun

Vue : construire une application web (école d'ingénieur) · Chapitre 3 · Application directe du cours

Ancienne et nouvelle valeur

La réactivité · niveau 2

Énoncé

Avec l'observateur ci-dessous, qu'affiche la console au chargement, puis après un clic sur chacun des boutons, dans l'ordre (le bouton « 5 » deux fois) ?


<div id="app">
  <button type="button" @click="quantite++">+1</button>
  <button type="button" @click="quantite = 5">5</button>
  <button type="button" @click="quantite = 7; quantite = 1">7 puis 1</button>
</div>

const { createApp, ref, watch } = Vue;

createApp({
  setup() {
    const quantite = ref(1);
    watch(quantite, (nouvelle, ancienne) => {
      console.log(`${ancienne} → ${nouvelle}`);
    }, { immediate: true });
    return { quantite };
  },
}).mount("#app");

Corrigé


undefined → 1
--- +1
1 → 2
--- 5
2 → 5
--- 5 de nouveau
--- 7 puis 1
5 → 1

immediate provoque un premier appel avec une ancienne valeur undefined. Le second clic sur « 5 » ne change pas la valeur : pas d'appel. Le dernier bouton affecte 7 puis 1 dans la même instruction : les deux changements sont regroupés, et le rappel n'est appelé qu'une fois, avec l'ancienne valeur 5 et la nouvelle 1 ; le 7 n'a jamais été vu.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →