Поскольку вы используете dustjs, у вас есть доступ к @idx
помощника при переборе:
{#storylines}
<li>{text|bl|s} ({@idx}{.}{/idx})</li>
{/storylines}
От dustjs docs:
IDX тег проходит числовой индекс из текущий элемент к закрытому блоку.
EDIT: Я недостаточно внимательно изучил ваш вопрос - похоже, что вы ищете убывающий счет. вспомогательный помощник idx
будет подсчитывать.
EDIT AGAIN: В комментариях было задано вопрос, можете ли вы просто сделать {@idx}{10 - .}{/idx}
.
Ответ на это нет, потому что пыль не оценивает произвольные выражения. Но если вы посмотрите на источник dust.helpers.idx
, который где тег исходит от, это просто:
function (chunk, context, bodies) {
return bodies.block(chunk, context.push(context.stack.index))
}
Это толкая новый контекст со значением текущего индекса итерации.Оказывается, что context.stack
объект имеет атрибут of
, который дает вам количество элементов в стеке, так что вы можете написать свой собственный negidx
помощник:
dust.helpers.negidx = function(chunk, context, bodies) {
return bodies.block(chunk, context.push(context.stack.of - context.stack.index));
};
На данный момент, следующий будет сделать то, что исходный вопрос спросил:
{#storylines}
<li>{text|bl|s} ({@negidx}{.}{/negidx})</li>
{/storylines}
And here's a fiddle.
У меня нет сниппет, который делает именно то, что вы просите, но в основном вы должны быть в состоянии использовать .each() для изменения каждого ребенка. http://api.jquery.com/each/ – wtjones