我试图从通过订阅返回的文档中获取字段的值。订阅放在辅助函数中。我在订阅中有一个回调函数返回此值,然后我将返回值赋给变量(请参阅代码)。最后,我让助手返回这个值。但是,返回的值是一个订阅对象(?),我似乎无法从中得到任何东西。
代码:
Template.myTemplate.helpers({
'returnUser':function(){
var id = Session.get('currentUserId');
var xyz = Meteor.subscribe('subscriptionName',id,function(){
var user = accounts.find().fetch({_id: id})[0].username;
return user;
}
return xyz;
}
});
任何帮助将不胜感激。 :)
答案 0 :(得分:2)
您必须在创建模板时首先加载订阅,这将使用Minimongo创建数据实例。
Template.myTemplate.onCreated(function () {
var self = this;
self.autorun(function() {
self.subscribe('subscriptionName',id);
});
});
然后在帮助程序中,您可以进行查询以检索数据
Template.myTemplate.helpers({
'returnUser': function(){
var id = Session.get('currentUserId');
return accounts.findOne(id).username;
}
});