Добавьте инкремент в id в ejs

Я работаю над страницей JavaScript, которая использует формат MVC и canJS. В моем свойстве view, когда я добавляю новые элементы, я хочу добавить идентификаторы и динамически назначать новые идентификаторы для каждой загружаемой вещи.

Код в моем файле.ejs выглядит примерно так:

<ul>
<% can.each(pages, function(val, key){ %>
<li id="<% 'page' + // Add incrementer here%>"><%= val.attr('Title') %>
</li>
</ul>

Где страницы итеративны. Я хочу добавить инкремент, чтобы каждая добавленная страница имела уникальный идентификатор для последующего использования. Это возможно в файле.ejs?

Спасибо

2 ответа

Решение

Если итерация предоставляется can.each является массивом, функция обратного вызова can.each получает индекс текущего элемента в качестве второго параметра. Это должно быть идеально использовано в качестве идентификатора.

См. http://canjs.com/docs/can.each.html

EJS - это просто встроенный JavaScript. Вы можете использовать цикл по страницам массива, используя forEach, а ключевая переменная будет увеличиваться с каждой страницей (в основном то, что предложил Ханнес Обвегер).

<ul>
    <% pages.forEach(function(val, key) { %>
        <li id="page_<%= key %>"><%= val.Title %></li>
    <% }); %>
</ul>
Другие вопросы по тегам