Loops 把手:当有两行项目时,获取项目的索引

Loops 把手:当有两行项目时,获取项目的索引,loops,handlebars.js,handlebarshelper,Loops,Handlebars.js,Handlebarshelper,下面的@键即使在第二行也总是给出0 1 2 3。请帮忙 把手模板: {{#grouped_each 4 orderData}} <div class="row"> {{#each this }} <div class="col-md-3"> <div class="thumbnail"> <img src="{{getImageSourceChannel ../../channelNames @ke

下面的
@键
即使在第二行也总是给出
0 1 2 3
。请帮忙

把手模板:

{{#grouped_each 4 orderData}}
<div class="row">
    {{#each this }}
    <div class="col-md-3">
        <div class="thumbnail">
            <img src="{{getImageSourceChannel ../../channelNames @key name}}" class="">
            <div class="caption">
                <p><b>{{getObjectAtIndex ../../channelNames @key}}</b></p>
                <p class="">{{slices.4.count}} new orders</p>
                <p class="">{{slices.3.count}} back orders</p>                   

            </div>
        </div>
    </div>
    {{/each}}
</div>
{{/grouped_each}} 
{{{#分组(每4个orderData}}
{{{#每个这个}
{{getObjectAtIndex.././channelNames@key}}

{{slices.4.count}}新订单

{{slices.3.count}}延期订单

{{/每个}} {{/每个}
把手部分:

Handlebars.registerHelper('grouped_each', function(every, context, options) {
    var out = "", subcontext = [], i;
    console.log(every);
    console.log(context);
    console.log(options);
    if (context && context.length > 0) {
        for (i = 0; i < context.length; i++) {
            if (i > 0 && i % every === 0) {
                out += options.fn(subcontext);
                subcontext = [];
            }
            subcontext.push(context[i]);
        }
        out += options.fn(subcontext);
    }
    return out;
});
handlebar.registerHelper('grouped_each',函数(each,context,options){
var out=“”,子上下文=[],i;
控制台日志(每个);
console.log(上下文);
console.log(选项);
if(context&&context.length>0){
对于(i=0;i0&&i%every==0){
out+=options.fn(子上下文);
子文本=[];
}
推送(上下文[i]);
}
out+=options.fn(子上下文);
}
返回;
});
使用一个对象,该对象在部分 在部分定义中,不要盲目地将项推送到每四次迭代就重置一次键/索引的数组中,而是使用一个对象,该对象的键可以在多次迭代中顺序声明

handlebar.registerHelper('grouped_each',函数(each,context,options){
var out=“”,
subtext={},//声明一个对象,而不是数组
我
if(context&&context.length>0){
对于(i=0;i0&&i%every==0){
out+=options.fn(子上下文);
子文本={};
}
//在对象上声明键,
//而不是盲目地推进一个空数组
子上下文[i]=上下文[i];
}
out+=options.fn(子上下文);
}
返回;
});
var template=handlebar.compile($(“#template”).html();
$(“#呈现”).html(模板(
{
“订单数据”:[
{“名称”:“订单1”},
{“名称”:“订单2”},
{“名称”:“订单3”},
{“名称”:“订单4”},
{“名称”:“订单5”},
{“名称”:“订单6”},
{“名称”:“订单7”},
{“名称”:“订单8”},
]
}
));
#渲染{
显示:表格;
}
.行{
显示:表格行;
}
.行>分区{
显示:表格单元格;
填充:0.5em;
边框:1px纯白;
背景颜色:银色;
}

{{{#每4个orderData}
{{{#每个这个}
键{{@Key}}:{{name}}

{{/每个}} {{/每个}
这就是我如何通过css而不是车把实现的

 .row [class*="col-md-4"]:nth-of-type(3n+1) {
    clear:left;
  }
  .row [class*="col-md-4"]:nth-of-type(n+3) {
    margin-bottom: 10px;
  }

请看下面的答案:请提供您的JSON。