我正在开发一个使用 MVC 格式和 canJS 的 javascript 页面。在我的视图属性中,当我添加新元素时,我想添加 id 并为我加载的每个内容动态分配新 id。
我的 .ejs 文件中的代码是这样的:
<ul>
<% can.each(pages, function(val, key){ %>
<li id="<% 'page' + // Add incrementer here%>"><%= val.attr('Title') %>
</li>
</ul>
页面是可迭代的。我想添加一个增量器,这样我添加的每个页面都有一个唯一的 ID 供以后参考。这在 .ejs 文件中可能吗?
谢谢
EJS 只是嵌入了 javascript。您可以使用
forEach
循环遍历数组页面,并且键变量会随着每个页面而递增(基本上是 Hannes Obweger 所建议的)。
<ul>
<% pages.forEach(function(val, key) { %>
<li id="page_<%= key %>"><%= val.Title %></li>
<% }); %>
</ul>
如果提供给
can.each
的iterable是一个数组,则can.each
的回调函数接收当前元素的索引作为其第二个参数。这应该完全可以用作标识符。