【问题标题】:how to display array values in a list using ejs如何使用ejs在列表中显示数组值
【发布时间】:2021-08-20 12:30:02
【问题描述】:

我有一个数组

 {"count":3,"rows":[{"p_id":"P1","gender":"M","patient_name":"a"},{"p_id":"D1","gender":"M","patient_name":"Davin"},{"p_id":"M1","gender":"M","patient_name":"Marv"}]} 

我从我的快递中渲染到我的ejs 文件。我有一张个人资料卡,我需要在其中显示列表中的每个字符串。所以对于 3 串 3 张牌。

我的ejs 文件:

 <ul>
     <% for(var i= 0 ; i < userData.length; i++) {%>
         <li>
             <span><%=userData[i].count %>
         </li>
         <ul>
             <% for(var j=0 ; j < userData[i].rows.length; j++) {%>
                 <li>
                     <span><%=userData[i].rows[j].p_id %>
                 </li>
             <% } %>
         </ul>
     <% } %>
</ul>

【问题讨论】:

    标签: node.js express ejs


    【解决方案1】:

    您还没有定义如何渲染 EJS 文件,所以我猜它是正确的。

    我建议在遍历数组时使用.forEach(...) 函数。请参阅下面的示例。

    <% if (locals.userData) { %> <!-- Make sure userData is defined -->
        <ul>
            <% userData.forEach(user => { %> <!-- Loop through the array -->
                <li>
                    <span><%= user.count %>
                </li>
                <ul>
                    <% user.rows.forEach(row => { %> <!-- Loop through the rows -->
                        <li>
                            <span><%= row.p_id %>
                        </li>
                    <% }); %>
                </ul>
            <% }); %>
        </ul>
    <% } %>
    

    【讨论】:

    • res.render('dash',{userData:a}) 这就是我渲染它的方式。其中 a 是 var a = JSON.stringify(data)。
    • @fungusblacky 如果此答案是您问题的解决方案,请单击帖子旁边的勾号将其标记为正确的解决方案。
    • 没有兄弟我得到这个错误 86|
        >> 87| { %> 88|
      • 89| 90|
      • userData.forEach 不是函数
    • @fungusblacky 在这种情况下,发送的数据不是数组。
    猜你喜欢
    • 2019-10-29
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2021-12-02
    • 2018-01-19
    • 1970-01-01
    相关资源
    最近更新 更多