我在模板中列出了所有Meteor用户:
<template name="userList">
<ul>
{{#each users}}
<li>
{{_id}}<br>
Emails:
{{#each emails}}
{{address}},
{{/each}}
</li>
{{/each}}
</ul>
</template>
这是我的帮手:
Template.userList.helpers({
users : function() {
return Meteor.users.find({});
}
});
这样可行,但由于我没有使用用户名,我只想列出第一个电子邮件地址,而不必在模板中使用{{#each}}处理它。理想情况下,我对users.primaryEmail有一个值,所以我将帮助器更改为:
Template.userList.helpers({
users : function() {
var rawUsers = Meteor.users.find({});
var users = [];
_.each(rawUsers, function(user) {
user.primaryEmail = user.emails[0].address;
users.push(user);
})
return users;
}
});
...并更新了我的模板代码以输出{{primaryEmail}},但它现在似乎根本没有返回任何用户。我错过了什么?
答案 0 :(得分:0)
想出我需要使用.fetch()才能将结果作为一个数组&amp; make users.emails [0] work:
var rawUsers = Meteor.users.find({}).fetch();