【问题标题】:How do I loop a variable coming from the backend using ejs如何使用 ejs 循环来自后端的变量
【发布时间】:2021-05-02 13:14:17
【问题描述】:

从后端传来的数据是这样的: 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>
% } %>

但它不是一个数组,所以它不起作用。有没有办法解决这个问题?

【问题讨论】:

  • 迭代你拥有的东西:你不知道i应该跑到什么地方,所以使用injector.camara.forEach,它永远不会出错。请参阅ejs.co 并滚动到“包含相对于模板”。

标签: javascript html ejs


【解决方案1】:

如果我理解正确,injector 是一个具有多个属性的对象,例如 camera1camera2...

所以,我们需要遍历对象的属性。我们可以使用for... of 循环。代码如下:

<% for(const [key, value] of Object.entries(injector)) { %>
   <td>
     <input id="<%= key %>" name="<%= key %>" value="<%= value %>">
   </td>
% } %>

可以看Object.entries方法here的文档

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多