我有一个scripts.js文件,其中包含一个我想在EJS模板中访问的函数。
在模板中,我包含一个标题,在标题中,我向scripts.js添加了一个脚本rel
<script src="/scripts/scripts.js" type="text/javascript"></script>
我通过console.log(“ test”)进行了测试,当调用模板时,控制台中出现了“ test”。
当我尝试在EJS模板中调用实际函数(verify_data)时,出现错误verify_data未定义。 EJS中的错误代码如下:
<p><em>Submited By <%= verify_data(results.user.username) %></em></p>
该函数检查所传递的参数是否为null / undefined,如果是,则返回数据,如果不是,则返回“ n / a”字符串。
如何直接在EJS模板中访问JS函数?
谢谢
答案 0 :(得分:1)
假设您不使用SPA框架,则需要添加一个标签,该标签将被功能替换或包含您要存储的数据。
查看此代码段
<p><em>Submited By <span id='userData'></span></em></p>
<script>
//This is the script.js
function verify_data(userName) {
return `My data with '${userName}'`;
}
</script>
<script>
let data = verify_data("EleFromStack"); // assuming <%=results.user.username%> = "EleFromStack"
document.querySelector("#userData").textContent = data;
</script>