显示集合中每个数组元素的名称字段

Displaying name field for each array element inside a collection

我有一个集合(类别),每个文档都有一个 "product" 字段,它是一个对象(产品)数组。每个产品都有一个 "name" 和一个 "startingCost" 字段。我可以显示每个类别名称,但我不知道如何显示每个类别中的每个产品名称。

HTML:

<template name='categoriesList'>
    <ul class='category-grid'>
        {{ #each categories }}
            <li>{{ name }}</li>
            <!-- Display every product's name -->
        {{/each}}
    </ul>
</template>

JS:

Template.categoriesList.helpers({
    categories() {
        return Categories.find({});
    },
});

架构:

{
  "_id" : "test",
  "name" : "TestNAME",
  "createdAt" : ISODate("2017-08-08T18:03:09.508Z"),
  "products" : [
    { "name" : "testProduct", "startingCost" : 100 },
    { "name" : "test2", "startingCost" : 200 }
  ]
}

应该可以再做一个 {{ #each }}

<template name='categoriesList'>
    <ul class='category-grid'>
        {{ #each category in categories }}
            <li>{{ category.name }}</li>
            <!-- Display every product's name -->
            <ul>
                {{ #each product in category.products }}
                <li>{{ product.name }}: ${{ product.startingCost }}</li>
                {{/each}}
            </ul>
        {{/each}}
    </ul>
</template>

如果您更喜欢 each productseach product in products 语法,则由您决定。嵌套时,我绝对更喜欢命名空间。