express中使用ejs模板如何实现迭代?
使用nodeJS的express框架,应用了ejs模板,遇到一个问题:
数据为树结构,层数不定,1-5层左右,发现在ejs用include进来的模板内使用的变量名不可更改(或者更改方法我没有找到),导致无法把树结构数据使用迭代的方式来拼成html模板;
想法:想要实现写一个模板,然后遇到判断时调用自身实现迭代,模板中的遍历变量由include时传入,不知道这个想法能否实现;
目前解决方案:约定好树结构层数,在模板中写好遍历。
希望有熟悉EJS的同学帮忙看一看有没有更好的办法。
<ul>
<% leftData.forEach(function(item){ %>
<li>
<% if(item.type == 'file'){ %>
<%= item.name.split('.md')[0] %>
<% }else{ %>
<%= item.name.split('.md')[0] %>
<% if(item.children.length > 0){ %>
<ul>
<% item.children.forEach(function(value){ %>
<li>
<% if(value.type == 'file'){ %>
<%= value.name.split('.md')[0] %>
<% }else{ %>
<%= value.name.split('.md')[0] %>
<% if(value.children.length > 0){ %>
<ul>
<% value.children.forEach(function(data){ %>
<li>
<% if(data.type == 'file'){ %>
<%= data.name.split('.md')[0] %>
<% }else{ %>
<%= data.name.split('.md')[0] %>
<% } %>
</li>
<% }) %>
</ul>
<% } %>
<% } %>
</li>
<% }) %>
</ul>
<% } %>
<% } %>
</li>
<% }) %>
</ul>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论