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。