Adloun

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

Méthode ou computed

La réactivité · niveau 1 (application)

Énoncé

Qu'affiche la console au chargement, puis après deux clics sur « Vu », puis après un clic sur « Renommer » ? Remarquer que la propriété calculée est lue deux fois dans le gabarit.


<div id="app">
  <p>{{ titreMethode() }} / {{ titreCalcule }} / {{ titreCalcule }}</p>
  <p>{{ vues }} vue(s)</p>
  <button type="button" @click="vues++">Vu</button>
  <button type="button" @click="titre = 'Java 21'">Renommer</button>
</div>

const { createApp, ref, computed } = Vue;

createApp({
  setup() {
    const titre = ref("Java");
    const vues = ref(0);
    function titreMethode() {
      console.log("méthode");
      return titre.value.toUpperCase();
    }
    const titreCalcule = computed(() => {
      console.log("computed");
      return titre.value.toUpperCase();
    });
    return { titre, vues, titreMethode, titreCalcule };
  },
}).mount("#app");

Corrigé


méthode
computed
--- Vu, deux fois
méthode
méthode
--- Renommer
méthode
computed
JAVA 21 / JAVA 21 / JAVA 21

Au chargement, la méthode est appelée une fois et la propriété calculée aussi, bien qu'elle soit lue deux fois : la seconde lecture renvoie la valeur mémorisée. Chaque clic sur « Vu » provoque un rendu (vues est affiché) : la méthode est rappelée, pas la propriété calculée, dont la seule dépendance, titre, n'a pas changé. « Renommer » change titre : les deux sont recalculées.

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 →