1

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

谢谢

4

2 回答 2

3

EJS 是简单的嵌入式 javascript。您可以使用循环遍历数组页面forEach,并且 key 变量会随着每一页而增加(基本上是 Hannes Obweger 建议的)。

<ul>
    <% pages.forEach(function(val, key) { %>
        <li id="page_<%= key %>"><%= val.Title %></li>
    <% }); %>
</ul>
于 2013-10-30T17:48:38.897 回答
2

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

请参阅http://canjs.com/docs/can.each.html

于 2013-10-30T17:50:21.797 回答