我有这部分代码:
{{#each cards}}
<div class="row-fluid">
<div class="card span4">
<p>{{content}}</p>
</div>
</div>
{{/each}}
并设置它做这样的事情的问题:
<div class="row-fluid">
<div class="card span4">
<p>{{content}}</p>
</div>
<div class="card span4">
<p>{{content}}</p>
</div>
<div class="card span4">
<p>{{content}}</p>
</div>
</div>
<div class="row-fluid">
<div class="card span4">
<p>{{content}}</p>
</div>
....
有人知道怎么做吗? (我知道我可以直接从 Meteor.render()
渲染,但我想尽可能避免它)
最佳答案
试试这个 split
辅助函数,它将一个 array
分成子数组,每个子数组最多有 n
个元素:
if (Meteor.isClient) {
Handlebars.registerHelper("split", function(array, n) {
var groups = _.groupBy(array, function(element, index) {
return Math.floor(index/n);
});
return _.toArray(groups);
});
}
{{#each split cards 3}}
<div class="row-fluid">
{{#each this}}
<div class="card span4">
<p>{{content}}</p>
</div>
{{/each}}
</div>
{{/each}}
请注意,您的 cards
辅助函数必须返回一个数组才能正常工作,而不是集合游标。
关于html - meteor - "each"在 View 中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21956079/