当我开始收到错误时,我正在使用meteor中的用户帐户。控制台中打印的错误位于我的userEmail
辅助函数中。
我的问题是,如果它是undefined
那么为什么我得到一个输出?
我的HTML代码:
{{#each user}}
{{#if student}}
<div class="row">
<div class="user-wrapper">
<div class="row">
<div class="name-wrapper col-md-3">
<span class="head">{{profile.firstname}}</span>
</div>
<div class="email-wrapper col-md-3">
<span class="head">{{userEmail}}</span>
</div>
<div class="email-wrapper col-md-3">
<span class="head">{{>starsRating mutable=true class="js-rate-images" id=_id}}</span>
</div>
<div class="email-wrapper col-md-3">
<span class="head">Remark</span>
<button class="btn btn-primary">Enter Remark</button>
</div>
</div>
</div>
</div>
{{/if}}
{{/each}}
我的助手功能是:
Template.Users.helpers({
user: function(){
return Meteor.users.find();
},
userEmail:function(){
return this.emails[0].address;
},
student:function(){
return this.profile.profession === 'student';
}
});
答案 0 :(得分:0)
您的功能在加载Collection之前正在运行,但由于Meteor助手是Reactive,因此您可以在加载集合后获得结果。
阻止该消息的一种方法是有条件地运行代码:
if(this.emails !== undefined){
return this.emails[0].address;
}