javascript - 将 ejs 变量转换为 javascript 变量

标签 javascript node.js ejs

<body>
<% var a = ["1","2","3","4"]
<% var i = 0 %>
<script>
   var n = "<% a.length %>"
   for(var i=0;i<n;i++){
      console.log("<%= a[i] %>")
   }
</script>
</body>

在上面的代码中,我希望 a[i] 的“i”应该在每次迭代后递增。为此,我必须将 ejs“i”更改为 javascript 变量,然后递增它。有什么办法吗?增加javascript标签下的ejs“i”???或者任何其他方法来获得上述结果??

最佳答案

这不会像您正在尝试的那样工作,因为此时您无法再访问 ejs 变量。您可以通过 a -数组到您的浏览器js。

可以通过以下方式存档:

var n = <%-JSON.stringify(a)%>;

所以你的代码看起来像:

var n = <%-JSON.stringify(a)%>;
for(var i=0 ;i < n; i++){
  console.log(n[i]);
}

关于javascript - 将 ejs 变量转换为 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633179/

相关文章:

javascript - JS中如何格式化字符串?

javascript - 为什么传入的参数在一个地方有效,但在另一个地方却无效?

javascript - 了解 socket.io ping 间隔/超时设置

javascript - EJS Javascript 中分解语句的规则是什么?

javascript - 如何使用 JQuery 设置其他字段 oninput 的属性?

javascript - 如何使用 Discord.JS DM 某些用户?

node.js - SQLite 在 Windows 10 上无法与 Electron 和 Node 一起使用

javascript - 渲染到 EJS 时,数组变量丢失结构/括号

jquery - 如何更改node.js中的日期格式

javascript - app.js 主文件中未定义 toString - NodeJS