html - 访问 EJS 中的先前范围
问题描述
我正在使用ejs创建我的网站,并且我试图在for 循环中创建一个 for 循环,但是当我尝试访问第一个循环范围内的值时我无法访问,有什么办法吗?
像这样:
<% for (let i = 0; i < array.length; i++) { %>
<p><%= i %></p>
<% for (let j = 0; j < array[i].object.length; j++) { %>
<p><%= array[i].object %></p>
<% } %>
<% } %>
解决方案
我不确定你是否发布了完整的代码,但我看到你没有关闭第一个循环。但无论如何,我认为这不是错误添加的。
EJS 遵循 Javascript 语法。您应该能够从子循环中的父循环访问变量或数据。
只是为了清楚地说,这就是我会做的。假设您有以下一组数据。
students: [{
name: ABC,
age: 20,
gender: male/female,
scores: [
{
subject: 'physics',
score: 70,
maxScoreAllowed: 100
}, .......
]
},.....]
为此,您可以像这样编写循环。
<% students.forEach(student => { %>
<p><%= student.name =%>
<% student.scores.forEach(score => { %>
<p><%= score.subject + ' = ' + score.score + '/' + score.maxScoreAllowed
%>
<!-- you can also access the student object here -->
<% } %>
<% } %>
希望这可以帮助您了解您到底做错了什么。
推荐阅读
- javascript - Gulp 没有在一系列任务中运行
- apache - LAMP 服务器拒绝来自域的连接(接受来自 IP)
- javascript - webNavigation api完全坏了吗?
- javascript - 在 AWS 服务器中启动网站时 CSS 和 JavaScript 失败
- git - 远程拒绝错误 wen 通过 GitHub 部署到 heroku
- python - 如何解决“标识符中的无效字符”?
- javascript - 如果 day == 6,则 Datepicker javascript 禁用选项
- python - 我是否应该每次在 Python 类中使用变量的“自我”版本
- r - 如何在数据框列中找到前 5 个值?
- swift - Swift中的字符串到整数(atoi)最大整数问题