web-dev-qa-db-ja.com

jsスクリプトは、同じファイル内のEJSコンテキスト/ページに記述された変数を取得できますか

タイトルで書いたように、ejsページ/ファイルに書き込まれた変数から、同じページ内のJavaScriptファイルから値を取得したい

EJS:

<% var test = 101; %>

JS:

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

または、EJSファイルに書き込まれた関数(パラメーター付き)を使用し、パラメーターがJSコンテキストから関数に与えられているJSコンテキストでこの関数を使用したい場合

EJS:

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

JS:

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

上記の答えは私にはうまくいきませんでした。次のようにdivを使用できます。

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

そして、スクリプトタグで指定したデータ変数「test」にアクセスします。

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

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

1
Hugo