我创建了一个仪表板页面,用户可以将该站点的不同组件保存到一个页面以便快速查看。我能够动态加载一个组件,如下所示:
index.js
res.render('dashboard',{comp: 'component1'});
dashboard.ejs
<%- include(comp) %>
但我想做这样的事情:
index.js
res.render('dashboard',{comp: ['component1', 'component3']});
让ejs页面循环遍历include(),这样我就可以在仪表板页面上显示0到n个组件。
我尝试将for包装在for循环中,如下所示:
<%- for(c in comp){include(c)} %>
但是ejs不喜欢这个。
我是以错误的方式解决这个问题吗?
答案 0 :(得分:1)
试试这个
<% for(var i=0; i < comp.length; ++i) { %>
<%- include(comp[i]) %>
<% } %>
答案 1 :(得分:1)
在你的代码中,c是索引而不是值,comp [c]是你的组件。
<% for(c in comp){ %>
<%- include(comp[c]) %>
<% } %>