无法在模板中连接到MongoDB

时间:2015-06-17 00:45:19

标签: meteor

对于Meteor来说,我还是个新手。

以下代码有效,我得到了列表:

<body>
  <ul>
    <li>Test</li>
       {{#each members}}
       {{> MembersList}}
       {{/each}}
    </ul>
</body>

<template name="MembersList">
    <li>{{name}}</li>
</template>

要使用iron:路由器需要将其放在另一个带{{yield}}的页面中,所以我需要将它放在模板中。此模板中的另一个(删除了这些行)在浏览器中可见,但我不再看到该列表。

<template name="foo">

<ul>
    <li>Test</li>
        {{#each members}}
        {{> MembersList}}
        {{/each}}
    </ul>
</template>

<template name="MembersList">
    <li>{{name}}</li>
</template>

这是我与数据库连接的代码,两种情况都是一样的。即使更改body.helper到MembersList.helpers并在其中为<li>添加另一个模板。

Members = new Mongo.Collection('members');

    if (Meteor.isClient) {

      Template.body.helpers({
        members: function() {
          return Members.find();
        }
      });
}

是否与Template.body.helpers有关?

1 个答案:

答案 0 :(得分:0)

您无法将帮助者附加到body。帮手必须附在模板上。

你应该做的是:

HTML中的

<body>
    {{> membersList}}
</body>

<template name="membersList">
    <ul>
        {{#each members}}
            <li>{{name}}</li>
        {{/each}}
    </ul>
</template>

在JS中:

Template.membersList.helpers({
    members: function() {
        return Members.find();
    }
});