Bonjour à tous,

Je cherche à récupérer une valeur de date dans un autre module après click, or, la valeur retournée est "empty string" :

Dans le premier module j'ai écris :

let clickedDate = "";
  const linkLundi = document.querySelector(".linkLundi");
  linkLundi.addEventListener("click", (e) => {
    clickedDate = dateLundi.toLocaleDateString();
  });
  export { clickedDate };

J'ai bien ma valeur de date correcte au click.

Dans le deuxième module j'importe la variable clickedDate :


import {clickedDate} from "./agenda-semaine.js"
console.log("date choisie :",clickedDate)

Curieusement la variable devient empty...
Si je rentre manuellement une valeur cependant elle est correctement exportée et lisible dans le deuxième module.

Faut-il utiliser un await ou truc du genre pour que ça marche ?

Merci d'avance pour vos réponses

1 réponse


La variable est exporté est ensuite quand tu la modifie, du coup la valeur lu dans le module est différente.
Si tu veux exporter une valeur qui change dans le temps le mieux est de créer un objet (car un objet est passé par référence)

const clickedDate = {current: ''}

Puis tu modifie la valeur de current

clickedDate.current = "valeur"

Les modules qui importe ce module feront référence au meme objet.