流星-模板。构建简单目录
Meteor - templates. Building simple catalogue
我是Meteor新手,所以请不要因为愚蠢的问题而责怪我!我相当想在Google和Meteor.docs中找到答案,但我现在的愚蠢比我还强。
我正在尝试从两个 Collection 构建简单的产品目录。
Catalogs = new Mongo.collection('catalogs');
Products = new Mongo.collection('products');
我的目标是实现这样的视图:
Vegetables <-- #1 catalog
*Tomato <-- product from #1 catalog
*Cucumber <-- another product from #1 ctalog
Fruits <-- #2 catalog
*Apple
*Pineapple
*Banana
我可以轻松创建目录并使用 parent ID 向其中添加产品。但现在我被 Meteor 模板困住了,不知道如何展示嵌套在 parent 目录中的产品。
有时我用 Laravel 做类似的事情,在那种情况下我用 Laravel 的 Blade 检查每个产品,如下所示:
{{$catalog->name}}
@foreach ($products as $product)
@if ($catalog->id == $product->parentId)
{{$product->name}}
@endif
@endforeach
我同意,也许这不是一个优雅的解决方案,但它对我有用。
但是在 Meteor 中,随着 "data contexts" 的变化(如果我正确理解它们的作用),如果我无法获得 parent 或 child 属性,我无法掌握如何做这件事。我相信它一定有清晰直接的解决方法,但我自己看不到:(
拜托,你能帮我解决这个问题吗?
假设每个目录都有一个 name
并且每个产品都有一个 name
和一个 catalogId
,下面是一个将所有目录和产品显示为一系列列表的模板:
<template name='catalogProducts'>
{{#each catalogs}}
<div class='catalog-name'>{{name}}</div>
<ul>
{{#each products}}
<li>{{name}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Template.catalogProducts.helpers({
catalogs: function() {
// find all of the catalogs
return Catalogs.find();
},
products: function() {
// here the context is a catalog, so this._id is the id
// of the current catalog - this finds all of its products
return Products.find({catalogId: this._id});
}
});
我是Meteor新手,所以请不要因为愚蠢的问题而责怪我!我相当想在Google和Meteor.docs中找到答案,但我现在的愚蠢比我还强。
我正在尝试从两个 Collection 构建简单的产品目录。
Catalogs = new Mongo.collection('catalogs');
Products = new Mongo.collection('products');
我的目标是实现这样的视图:
Vegetables <-- #1 catalog
*Tomato <-- product from #1 catalog
*Cucumber <-- another product from #1 ctalog
Fruits <-- #2 catalog
*Apple
*Pineapple
*Banana
我可以轻松创建目录并使用 parent ID 向其中添加产品。但现在我被 Meteor 模板困住了,不知道如何展示嵌套在 parent 目录中的产品。 有时我用 Laravel 做类似的事情,在那种情况下我用 Laravel 的 Blade 检查每个产品,如下所示:
{{$catalog->name}}
@foreach ($products as $product)
@if ($catalog->id == $product->parentId)
{{$product->name}}
@endif
@endforeach
我同意,也许这不是一个优雅的解决方案,但它对我有用。 但是在 Meteor 中,随着 "data contexts" 的变化(如果我正确理解它们的作用),如果我无法获得 parent 或 child 属性,我无法掌握如何做这件事。我相信它一定有清晰直接的解决方法,但我自己看不到:(
拜托,你能帮我解决这个问题吗?
假设每个目录都有一个 name
并且每个产品都有一个 name
和一个 catalogId
,下面是一个将所有目录和产品显示为一系列列表的模板:
<template name='catalogProducts'>
{{#each catalogs}}
<div class='catalog-name'>{{name}}</div>
<ul>
{{#each products}}
<li>{{name}}</li>
{{/each}}
</ul>
{{/each}}
</template>
Template.catalogProducts.helpers({
catalogs: function() {
// find all of the catalogs
return Catalogs.find();
},
products: function() {
// here the context is a catalog, so this._id is the id
// of the current catalog - this finds all of its products
return Products.find({catalogId: this._id});
}
});