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
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.