使用Handlebars.js循环模数条件

时间:2012-08-07 08:17:15

标签: meteor handlebars.js

我正在使用Handlebars循环对象。我的问题是,我无法在每x次迭代(%2或%3)中轻松添加一些代码。

我尝试了在How can I create conditional row classes using Handlebars.js?上提出的解决方案。它不起作用,因为我正在使用名为Meteor的框架,以及我的"集合"来自Meteor的MongoDB查询。使用该解决方案," Context"等于整个Meteor上下文,我的收藏无处可寻......

我的第一个想法是在我的对象上创建一个名为" eof"的新布尔属性。如果它等于真的话,会用一些更多的代码触发Handlebars条件......但是我想要一些更干净而不依赖于服务器端的东西。

你会怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:2)

请参阅Tom Coleman's answer

您可以添加一个类似于:

的模板助手
Template.tableWithDifferentColorRows.helpers({
    modulo3: function() {
        return (this.index % 3) === 0;
    },
});
// in the html:
{{#each_with_index collection}}
    <div {{#if modulo3}}style='color:purple'{{/if}}>
         actual content...
    </div>
{{/each}}