Meteor Spacebars{{#each}}计数器和第一次/最后一次测试



有什么方法可以用Meteor Spacebars实现以下逻辑吗?

伪代码,Meteor和Django的forloop:的混合

{{#each jobs}}
    {{>jobItem }}
    {#if not forloop.last }}<hr>{{/if}}
{{/each}}

不幸的是,{{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}}了。这样,所有没有值的项目都会得到hr,而你的项目有最后一个值,就不会了。

您可能也可以在CSS中处理它。

hr:last-of-type { display: none }

你可能需要仔细检查一下上面的语法。

相关内容

最新更新