在 Meteor 中使用带有参数的#each
Use #each with argument in Meteor
我是 Meteor 框架的新手,我正在尝试使用 meteor + mongo + 空格键显示一些数据。问题是我可能需要使用一个带空格键的参数,#each,但它不允许。
我的代码:
$file.js
Template.home.helpers({
places: function() {
return Places.find();
}
});
Template.content.helpers({
images: function() {
return Images.find({});
}
});
$file.html
<template name="home">
{{#each places}}
{{>content}}
{{/each}}
</template>
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images}}
<img src="{{this.url}}">
{{/each}}
</template>
我想做的 - 但它没有用 - 是在 Template.content.helper 函数中使用一个参数,如下所示:
Template.content.helpers({
images: function(ARG) {
return Images.find({place: ARG});
}
});
并且在 html 文件中将是
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images {{name}} }}
<img src="{{this.url}}">
{{/each}}
</template>
你们知道如何正确显示信息吗?我不想显示每个地方的所有信息(图像)。我只想显示那个地方的记者的图片...
提前致谢,
马库斯
好的,我可以用下面的代码做我想做的事:
file.html
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images name}}
<img src="{{this.url}}">
{{/each}}
</template>
(这意味着我必须删除双括号)
然后在 file.js
Template.content.helpers({
images: function(location) {
console.log(location);
return Images.find({"metadata.location": location});
}
});
我希望它对其他人也有帮助。
由于助手的实现可以像这样访问当前数据上下文,因此您无需将 {{name}}
作为参数传递。相反,使用 this.name
在助手中访问 {{name}}
.
翡翠
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images}}
<img src="{{this.url}}">
{{/each}}
</template>
JS
Template.content.helpers({
images: function() {
place = this.name;
return Images.find({place: place});
}
});
我是 Meteor 框架的新手,我正在尝试使用 meteor + mongo + 空格键显示一些数据。问题是我可能需要使用一个带空格键的参数,#each,但它不允许。
我的代码:
$file.js
Template.home.helpers({
places: function() {
return Places.find();
}
});
Template.content.helpers({
images: function() {
return Images.find({});
}
});
$file.html
<template name="home">
{{#each places}}
{{>content}}
{{/each}}
</template>
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images}}
<img src="{{this.url}}">
{{/each}}
</template>
我想做的 - 但它没有用 - 是在 Template.content.helper 函数中使用一个参数,如下所示:
Template.content.helpers({
images: function(ARG) {
return Images.find({place: ARG});
}
});
并且在 html 文件中将是
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images {{name}} }}
<img src="{{this.url}}">
{{/each}}
</template>
你们知道如何正确显示信息吗?我不想显示每个地方的所有信息(图像)。我只想显示那个地方的记者的图片...
提前致谢, 马库斯
好的,我可以用下面的代码做我想做的事:
file.html
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images name}}
<img src="{{this.url}}">
{{/each}}
</template>
(这意味着我必须删除双括号)
然后在 file.js
Template.content.helpers({
images: function(location) {
console.log(location);
return Images.find({"metadata.location": location});
}
});
我希望它对其他人也有帮助。
由于助手的实现可以像这样访问当前数据上下文,因此您无需将 {{name}}
作为参数传递。相反,使用 this.name
在助手中访问 {{name}}
.
翡翠
<template name="content">
<li>{{name}} - {{date}}</li>
{{#each images}}
<img src="{{this.url}}">
{{/each}}
</template>
JS
Template.content.helpers({
images: function() {
place = this.name;
return Images.find({place: place});
}
});