查询Handlebars.js中的Block Helpers

时间:2012-07-10 05:51:28

标签: javascript handlebars.js templating

我在这样的模板中有一个产品块:

<script type="text/x-handlebars-template" id="tmpl-person">
    <div class="product">
       <!-- Product details here -->
    </div>
</script>

我想要做的是,如果从我获得的数据中获取数据,在每三个人之后,我想插入一个名为<div class="row-fluid"></div>的容器,其中有三个人..然后是一个流体容器里面有三个人。如何使用助手实现这一目标?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西

Handlebars.registerHelper('each', function(context, block) {
  var ret = "";

  for(var i=0, j=context.length; i<j; i++) {
    ret = ret + "<li>" + block(context[i]) + "</li>";
  }

if( i % 3 == 0)
   ret = ret + <div class="row-fluid"></div>

  return ret;
});

您可以定义自定义迭代器,如下面的

<script type="text/x-handlebars-template" id="tmpl-person">
    {{#each productInfo}}
    <div class="product">
       <!-- Product details here -->
    </div>
    {{/each}}
</script>