Добавьте инкремент в 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
получает индекс текущего элемента в качестве второго параметра. Это должно быть идеально использовано в качестве идентификатора.
EJS - это просто встроенный JavaScript. Вы можете использовать цикл по страницам массива, используя forEach
, а ключевая переменная будет увеличиваться с каждой страницей (в основном то, что предложил Ханнес Обвегер).
<ul>
<% pages.forEach(function(val, key) { %>
<li id="page_<%= key %>"><%= val.Title %></li>
<% }); %>
</ul>