有没有办法用Meteor Spacebars实现以下逻辑?
伪代码,混合了Meteor和Django's forloop:
{{#each jobs}}
{{>jobItem }}
{#if not forloop.last }}<hr>{{/if}}
{{/each}}
答案 0 :(得分:2)
不幸的是{{each}}
没有做索引。因此,您必须将更多信息传回项目,以获得您需要的信息。例如,这可以将索引作为另一个字段放入返回对象。
var returnArray = _.map(divisions, function(item, key) {
return _.extend(item, {
"index": key
});
});
考虑到您只想要最后一个,您可能只想将一个属性附加到作业中的最后一个属性。创建一个只返回
之类的辅助函数return _.extend(_.last(Jobs.find().fetch(), {"last": true})
然后你可以拥有{{#if last}}{{else}}<hr>{{/if}}
。这样,所有没有价值的物品都会得到小时,而那个没有价值的物品会获得最后一个价值。
您可能也可以在CSS中处理它。
hr:last-of-type { display: none }
您可能需要仔细检查其语法。