我有这段代码
/* Template Helpers Start */
Template.ParticipationList.helpers({
getAllParticipants: function(){
var activityid = this._id;
Meteor.call('participation.findParticipants', activityid, function(error, result){
if(error){
console.log(error)
}
return result;
});
}
});
如果我将数组和return关键字放在流星调用之外,那么一切都很好 - 它将名称绑定到模板。但是,如果是上述情况,则没有任何内容与模板绑定。 我认为这与异步有关......但我做错了什么。
更新
<ul>
{{#each getAllParticipants}}
{{name}}
{{/each}}
</ul>
答案 0 :(得分:1)
&#34;结果&#34;不会在数据中。 这是常规的异步编程。 您想对数据做什么? 您可以将其放入应用程序的其他部分的反应变量中。
Meteor.call('myMethod', functoin(error, result){
if(error){
alert('Error');
}else{
Session.set("data", result)
}
});
我想你想要显示一个集合中的文件,说参与者
您可以创建允许某些字段的发布。
e.g
Meteor.publish('allPartipants', function() {
return Listings.find(
{type: 'actors'},
{fields: { name: 1, age: 1} }
);
});
订阅如下:
Meteor.subscribe('allPartipants');
在帮助器中,您只需使用find()。fetch()调用该集合,如下所示。
Template.templatName.helpers({
allParticipants(){
Participants.find().fetch()
}
})
和你提到的html
<ul>
{{#each allParticipants}}
{{name}}
{{/each}}
</ul>