流星:空格键每个参数

Meteor: Spacebars each parameter

我是 Meteor.js 的新手,运行 遇到了问题。

我正在将用户对象传递给配置文件模板,例如:

{
  _id: "D8JpXRQskm3grykjg",
  username: "foo",
  profile: {communities: ["AkGCakz6mSgMb8qyS", "j8aB3i5iscrC4ehkA"]},
}


<template name="profile">
  <h1> {{username}}: {{_id}} </h1>
  <h3>Communities</h3>
  <hr>
  {{#each profile.communities}}
    {{> communityItem}}
  {{/each}}
</template>

问题是我已经编写了一个 communityItem 模板,我在别处使用它接受 communityName。有没有一种方法可以编写辅助函数,传入 communityIds 列表,该列表将 return 社区名称列表?我想要:

...
{{#each getCommunityNames(profile.communities)}}
  {{> communityItem}}
{{/each}}
...

我很可能以错误的方式解决问题,或者没有以 "Spacebars" 的方式写作。谢谢!

当然可以:

Template.myTemplate.helpers({
  getCommunityNames: function(commIds) {
    var communities = Communities.find({_id: {$in: commIds}}).fetch();
    return _.pluck(communities, 'name'); // returns ['Name 1', 'Name 2'];
  }
});

注意,语法 method param 不是 method(param )

{{#each getCommunityNames profile.communities}}
  {{>communityItem}}
{{/each}}