Retour à la leçon
Mission

Mission : un menu qui ne se ferme jamais tout seul

Corriger une directive click-outside sans nettoyage et sans référence conservée, puis l'enrichir d'un modificateur.

Contexte

Une directive vClickOutside a été codée rapidement : dans mounted, elle fait document.addEventListener('click', (event) => { if (!el.contains(event.target)) binding.value(event) }, true) avec une fonction fléchée anonyme, et il n'existe aucun hook unmounted. Le menu qui l'utilise est ouvert/fermé (donc monté/démonté) très fréquemment sur la page, et après quelques minutes d'utilisation, cliquer n'importe où sur la page devient perceptiblement plus lent.