我使用带有markdown和ejs的静态网站生成器(在某些地方也有一些建议)。
我有以下变量:-post.name1-post.name2-post.name3等
我的ejs布局如下:
<%if(post.name1){%>
<div class="name"><%- post.name1 %>
</div>
<% } %>
<%if(post.name2){%>
<div class="name"><%- post.name2 %>
</div>
<% } %>
<%if(post.name3){%>
<div class="name"><%- post.name3 %>
</div>
<% } %>
而不是编写我的代码块三次(实际上是我有59个名字的59次),我只想写一(1)次,就像下面的例子,然后使我的布局如上所述:
<%if( name ){%>
<div class="name"><%- name %>
</div>
<% } %>
因此是否有可能使布局仅通过一个代码块(和某些功能)为我所有的59个名称生成?
<% for(var i=1; i <= Object.keys(post).length ; i++) {%>
<%if(post['name' + i]){%>
<div class="name"><%- post['name' + i]%></div>
<% } %>
<% } %>
尝试一下,但是您绝对应该将帖子构造为objets数组,以便可以轻松遍历它。