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

时间:2017-08-08 23:00:30

标签: meteor meteor-blaze

我有一个集合(类别),每个文档都有一个“产品”字段,它是一个对象(产品)数组。每个产品都有一个“名称”和一个“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 }
  ]
}

1 个答案:

答案 0 :(得分:3)

应该能够做另一个{{ #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语法,请由您决定。嵌套时我肯定更喜欢命名空间。