javascript - 如何使用 ejs 循环来自后端的变量
问题描述
来自后端的数据是这样的:
injector.camara1
injector.camara2
injector.camara3
injector.camara4
我需要使用它们来显示输入的值。我尝试使用以下方法循环变量:
<% if(var i = 0; i < 4; i++) { %>
<td>
<input id="camara<%= i+1 %>" name="camara<%= i+1 %>" value="<%= injector.camara[i] %>">
</td>
% } %>
但它不是一个数组,所以它不起作用。有没有办法解决这个问题?
解决方案
如果我理解正确,injector
是一个具有多个属性的对象,例如camera1
,camera2
...
因此,我们需要遍历对象的属性。我们可以使用for... of
循环。代码如下所示:
<% for(const [key, value] of Object.entries(injector)) { %>
<td>
<input id="<%= key %>" name="<%= key %>" value="<%= value %>">
</td>
% } %>
您可以在此处Object.entries
查看方法文档
推荐阅读
- python - 粗糙集:Python 中的快速归约/特征选择
- java - Java:将 double 转换为 int > Integer.MAX_VALUE
- javascript - 在 Prod env 中将 isDevMode 传递给 forRoot 抛出错误
- java - 一个组件需要一个名为“userService”的 bean,但找不到该 bean
- scala - WriterT 还是 ReaderWriterStateT?
- javascript - Json 返回 null JavaScript
- date - spring boot 测试 h2 data.sql 错误的语言环境日期格式
- apache-kafka - Apache Kafka Connect 根据记录值路由消息
- python - 如何在 Python 中使用正则表达式从字符串中删除两个“下划线数字”子字符串?
- mapbox - 自定义矢量切片与 mapbox 中由 geojson 源制作的切片不匹配