如何遍历Meteor模板中的所有现有用户?

时间:2015-12-20 12:44:01

标签: javascript meteor iron-router publish-subscribe

我正在尝试让所有用户在我的主页模板上进行迭代,但是我遇到了麻烦。我一直在尝试这么多不同的技术,但这就是我现在所拥有的:

服务器:

Meteor.publish('userList', function() {
  return Meteor.users.find({}, {fields: {username: 1, emails: 1, profile: 1}});
});

路由:

Router.route('/', {
    name: 'home',
    template: 'home',
    waitOn: function() {
      return Meteor.subscribe('userList');
    },
    data: function() {
      return Meteor.users.find({});
    }
  });

HTML:

<template name="home">
    <h1>Home page</h1>
    {{#each userList}}
        <p>Test</p>
        {{userList.username}}
    {{/each}}
</template>

我认为我的问题实际上在于{{#each}}区块,因为我不知道该在那里打电话。甚至不显示测试文本。

1 个答案:

答案 0 :(得分:1)

解决问题的一种方法是在 data 函数中返回{userList: Meteor.users.find()}

Router.route('/', {
    name: 'home',
    template: 'home',
    waitOn: function() {
        return Meteor.subscribe('userList');
    },
    data: function() {
        return {userList: Meteor.users.find()};
    }
});

然后,您可以通过将userList模板更改为:{/ p>来迭代home

<template name="home">
    <h1>Home page</h1>
    {{#each userList}}
        <p>Test</p>
        {{username}}
    {{/each}}
</template>