javascript - doT.js 每 3 次迭代做一些事情

标签 javascript json dot.js

我有一个看起来像这样的 doT.js 模板:

{{?it.books.length }}
{{~it.books :value}}
<li>
    <article class='Teaser'>
        <a href='{{=value.url}}' title='{{=value.title}}'>
            <img src='{{=value.image}}' />
        </a>
        <h3>
            <a href='{{=value.url}}' title='{{=value.title}}'>{{=value.title}}</a>
        </h3>
    </article>
</li>
// this should only be rendered every 3rd time
<br class='clear' />
{{~}}
{{?}}

最后的 br-Tag 只应该每三次渲染一次。我该怎么做?

最佳答案

试试这个:

{{?it.books.length }}
{{~it.books :value:index}}
<li>
    <article class='Teaser'>
        <a href='{{=value.url}}' title='{{=value.title}}'>
            <img src='{{=value.image}}' />
        </a>
        <h3>
            <a href='{{=value.url}}' 
                title='{{=value.title}}'>{{=value.title}}</a>
        </h3>
    </article>
</li>
{{? index % 3 == 2 }}
<br class='clear' />
{{?}}
{{~}}
{{?}}

如果你想避免在列表的末尾添加元素(当集合的长度被 3 整除时发生),替换

{{? index%3 == 2 }}

{{? it.books.length-1 != index && index % 3 == 2 }}

关于javascript - doT.js 每 3 次迭代做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20214900/

相关文章:

android - 获取没有数组名称的 JSONArray?

javascript - Jquery从json中获取值到select中

javascript - 如何在 doT.js 模板系统中包含文件

javascript - 如何获取月份的值到数据库

java - Jackson 将 json 转换为 String 和列表的映射

javascript - 为什么 [1,[2,3]] != [1,[2,3]]

javascript - doT.js:在 dot.js 中链接 if-else

java - 支持 JavaScript 的 Eclipse JFace 编辑器

php - 通过单击 foreach 循环显示/隐藏 xml 内容

javascript - 我可以在 javascript 中使用麦克风和声音吗?