2016-02-27 63 views
1

在流星中,我们有'@index'操作符来获取迭代的指数值。但我想获得迭代总数,然后在页面上打印该数字。因此,顶部的页面可能会读取一组中的男孩总数。如何获得流星的最终迭代次数

例如,我可能有类似:

Total = {{#each StudentMale}} {{formatMaleCount @index}} {{/each}} 

以及寄存器帮手只是加1数量

​​

,这将打印:

Total = 1234567 

我想要:

Total = 7 

关于如何做到这一点,我试图让助手把值放入一个数组中,但是这不会起作用,因为每次迭代都会产生一个新数组。

+0

嗯,你在每一个里面,所以即使你管理获得最后一个索引的方式,它也会打印7次,取决于你在每个迭代器上有多少对象,所以你为什么不简单地让这个帮助器formatMaleCount返回一个Make.find({foo:'bar'})。count()? – Ethaan

+0

@Ethaan你说得对。只需使用迭代的数组长度,而不是使用索引。 –

回答

1

StudentMale大概是一个数组或光标,所以在新的帮手:

如果它是一个数组:

arrayLength(array) { 
    return array.length; 
} 

或者,如果它是一个集合:

studentMaleLength() { 
    return StudentMales.find().fetch().length; 
} 

然后,只需调用你的帮手。