所以我是Meteor的新手,并且一直在玩它,但是在转移到Mongo时遇到了一些问题。
下面是一个简单的例子,我已经将一些文档插入到我的集合中,但似乎无法正确提取属性。
这是我的代码(我的结果与预期结果相同)
vizart.js
ContentPieces = new Mongo.Collection("content");
if (Meteor.isClient) {
Template.loggedInDash.helpers({
content: function () {
return ContentPieces.find({});
}
});
}
vizart.html
<template name="loggedInDash">
{{#if currentUser}}
<p>Here is the content you've created</p>
<ul>
{{#each content}}
<li>{{content}}</li>
{{/each}}
</ul>
{{/if}}
</template>
结果(仅在浏览器中粘贴应用)
以下是您创建的内容
预期
正如您所看到的,我并不是100%确定如何提取属性。例如,每个文档都有一个name
属性,我想在列表中吐出来。有关如何从name
集合中选择content
属性的任何帮助或指导?
提前致谢!
答案 0 :(得分:3)
流星模板语言(spacebars)的灵感来自handlebars。我建议您查看两组文档,但是手柄文档可以帮助您快速掌握基本语法。
在您的示例中,如果ContentPieces
中的每个文档都有name
,那么您可以将其添加到列表中,如下所示:
<ul>
{{#each content}}
<li>{{name}}</li>
{{/each}}
</ul>
我还建议您查看this post以更好地了解模板数据上下文。
答案 1 :(得分:1)
在您的过程中,您正在显示整个文档,如果您只想显示名称属性,则可以通过
进行显示 if (Meteor.isClient) {
Template.loggedInDash.helpers({
content: function () {
var name=ContentPieces.find({}).name;
if(name)
return name;
}
});
您只需传递要显示的字段名称
即可