在ejs中给id添加增量器

问题描述 投票:0回答:2

我正在开发一个使用 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 文件中可能吗?

谢谢

javascript model-view-controller ejs canjs canjs-view
2个回答
3
投票

EJS 只是嵌入了 javascript。您可以使用

forEach
循环遍历数组页面,并且键变量会随着每个页面而递增(基本上是 Hannes Obweger 所建议的)。

<ul>
    <% pages.forEach(function(val, key) { %>
        <li id="page_<%= key %>"><%= val.Title %></li>
    <% }); %>
</ul>

2
投票

如果提供给

can.each
的iterable是一个数组,则
can.each
的回调函数接收当前元素的索引作为其第二个参数。这应该完全可以用作标识符。

参见 http://canjs.com/docs/can.each.html

© www.soinside.com 2019 - 2024. All rights reserved.