如何在空格键 #each 标签中显示来自两个不同 Collection 文档的数据?
How Do I Display Data From Two Different Collection's Documents in Spacebars #each Tag?
我有 2 个 Collection(其中一个是标准 Collection,另一个是 CFS Collection 来存储我上传的图像):
Products = new Mongo.Collection('products');
和
Uploads = new FS.Collection('uploads', {
stores: [new FS.Store.FileSystem('uploads', {path: '~/projectUploads'})]
});
Products collection 中的某些文档有一个字段或 key/value 对 'product_main_image' 用于存储存储在 Uploads CFS 中的上传文件的文件名 collection.
在我的页面上我设置了一个助手:
Template.admin_products.helpers({
products: function(){
console.log('inside helperproduct');
return Products.find();
}
});
并且在 html 我有:
{{#each products}}
{{product_name}}
{{product_main_image}}
{{/each}}
但是我想显示上传的文件,而不是 {{product_main_image}}
显示的实际文件名,就像我使用此代码访问它一样:
Uploads.findOne({"original.name":product_main_image});
此页面是我使用 {{#each products}}
显示所有产品的地方,我还想显示存储在 Uploads CFS Collection.[=18= 中的每个产品的图像]
这可能吗?
我怎样才能做到这一点?
谢谢...
这可能吗? 是
我怎样才能做到这一点?
您可以使用 this
的上下文。在 Uploads.findOne()
这就是 HTML 的样子。
{{#each products}}
{{product_name}}
{{product_main_image}}
{{#with image}}
<img src="{{this.url}}" />
{{/with}}
{{/each}}
还有图像助手。
Template.example.helpers({
image:function(){
Uploads.findOne({"original.name":this.product_main_image});
}
})
这里有一个快速 MeteorPad 展示了如何实现这一点(我使用了 2 个虚拟集合,但想法是一样的)
我有 2 个 Collection(其中一个是标准 Collection,另一个是 CFS Collection 来存储我上传的图像):
Products = new Mongo.Collection('products');
和
Uploads = new FS.Collection('uploads', {
stores: [new FS.Store.FileSystem('uploads', {path: '~/projectUploads'})]
});
Products collection 中的某些文档有一个字段或 key/value 对 'product_main_image' 用于存储存储在 Uploads CFS 中的上传文件的文件名 collection.
在我的页面上我设置了一个助手:
Template.admin_products.helpers({
products: function(){
console.log('inside helperproduct');
return Products.find();
}
});
并且在 html 我有:
{{#each products}}
{{product_name}}
{{product_main_image}}
{{/each}}
但是我想显示上传的文件,而不是 {{product_main_image}}
显示的实际文件名,就像我使用此代码访问它一样:
Uploads.findOne({"original.name":product_main_image});
此页面是我使用 {{#each products}}
显示所有产品的地方,我还想显示存储在 Uploads CFS Collection.[=18= 中的每个产品的图像]
这可能吗? 我怎样才能做到这一点? 谢谢...
这可能吗? 是
我怎样才能做到这一点?
您可以使用 this
的上下文。在 Uploads.findOne()
这就是 HTML 的样子。
{{#each products}}
{{product_name}}
{{product_main_image}}
{{#with image}}
<img src="{{this.url}}" />
{{/with}}
{{/each}}
还有图像助手。
Template.example.helpers({
image:function(){
Uploads.findOne({"original.name":this.product_main_image});
}
})
这里有一个快速 MeteorPad 展示了如何实现这一点(我使用了 2 个虚拟集合,但想法是一样的)