【问题标题】:Handlebars and MeteorJs for every other or number每隔一个或一个数字的车把和 MeteorJs
【发布时间】:2013-05-19 04:20:52
【问题描述】:

我正在尝试创建一个 Handlebars.registerHelper(),它将我的 {{>template}} 包装在一个 {{each items}} 中,用于我输入的每个数字。

所以是这样的;

{{forevery items 4}}
    {{> item_row_template}}
{{/forevery}}

所需的结果是每 4 个项目将其包裹在一个 div 周围。

<div class="row">
    <div class="item_1">item</div>
    <div class="item_2">item</div>
    <div class="item_3">item</div>
    <div class="item_4">item</div>
</div>

<div class="row">
    <div class="item_1">item</div>
    <div class="item_2">item</div>
    <div class="item_3">item</div>
    <div class="item_4">item</div>
</div>

等等……

【问题讨论】:

    标签: meteor handlebars.js


    【解决方案1】:

    您想要做的是创建一个帮助器,它将遍历列表并每隔一段时间手动添加 div。

    这是一个例子:

    Handlebars.registerHelper('forevery', function(context, limit, options) {
        var ret = "";
        if (context.length > 0) {
            ret += "<div>";
            for(var i=0, j=context.length; i<j; i++) {
                ret = ret + options.fn(context[i]);
                if ( (i+1) % limit === 0 ) {
                    ret += "</div><div>";
                }
            }
            ret += "</div>";
        }
        return ret;
    });
    

    此函数将遍历项目数组,并且每第 n 行将关闭一个 div 并打开一个新的。所以这将被称为:

    {{#forevery items 3}}
        {{> item_row_template}}
    {{/forevery}}
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 2018-01-17
      • 2014-04-03
      相关资源
      最近更新 更多