迭代meteorjs中嵌套的每个语句(按类别分组)
Posted
技术标签:
【中文标题】迭代meteorjs中嵌套的每个语句(按类别分组)【英文标题】:Iterating over nested each statements in meteorjs (group by category) 【发布时间】:2016-02-27 16:03:11 【问题描述】:我有一个产品列表,每个产品都有一个与之关联的类别。 我正在尝试列出按类似于this example 的类别分组的产品,但我无法让它工作。它只显示一个唯一的类别列表,而不是产品
我有以下帮手:
Template.supplierPage.helpers(
getCategories: function()
var categories = Products.find(supplierId: this._id,
sort:category: 1, fields: category: 1).fetch();
return _.uniq( categories, true, function (product)
return product.category;
);
,
products: function(category)
return Products.find(category: category, supplierId: this._id);
);
还有以下模板:
<template name="supplierPage">
<div class="ui dividing header">
<h3 class="ui header">My Products</h3>
</div>
<div>
> productCreate
#each getCategories
<h1>category</h1>
#each products.category
> productItem
/each
/each
</div>
任何帮助将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:你几乎猜对了。您只是没有以正确的方式向 products
助手提供参数。这应该有效:
<template name="supplierPage">
<div class="ui dividing header">
<h3 class="ui header">My Products</h3>
</div>
<div>
> productCreate
#each getCategories
<h1>category</h1>
#each products category ../_id
> productItem
/each
/each
</div>
您还需要在 products
帮助器中修复您对 this
的使用,因为它在使用 #each
时会发生变化。最简单的方法是提供它作为上面的附加参数:
products: function(category, supplier)
return Products.find(category: category, supplierId: supplier);
【讨论】:
太棒了!太感谢了!你让我很开心!以上是关于迭代meteorjs中嵌套的每个语句(按类别分组)的主要内容,如果未能解决你的问题,请参考以下文章