web-dev-qa-db-fra.com

Un script js peut-il obtenir une variable écrite dans un contexte / page EJS dans le même fichier

Comme je l'ai écrit dans le titre, je voudrais obtenir une valeur d'une variable écrite dans une page/fichier ejs, à partir d'un fichier javascript dans la même page

EJS:

<% var test = 101; %>

JS:

<script>
    var getTest = test;
</script>

Ou si j'aimerais utiliser une fonction (avec paramètre) écrite dans un fichier EJS et utiliser cette fonction dans un contexte JS où le paramètre est donné à la fonction à partir du contexte JS

EJS:

<% function fn(par){ ... } %>

JS:

<script>
   var test = 101;
   <%>fn(test)<%> 
</script>
12
Donovant

La réponse ci-dessus n'a pas fonctionné pour moi. Vous pouvez utiliser un div de cette façon:

<div id="mydiv" data-test=<%= test %>></div>

Et accédez à la variable de données "test" que vous lui avez donnée dans une balise de script:

<script>var test = document.getElementById('mydiv').dataset.test</script>

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset

1
Hugo