我有以下模板,当用户点击特定帖子上的“Who osted this”按钮时会加载该模板。
<template name="profile">
{{#if existinguser}}
`//other code to render when esitinguser returns true//`
{{else}}
<p>This user doesn't exist.</p>
{{/if}}
</template>
这是现有的用户帮助:
'existinguser': function() {
if (Meteor.users.find({
"profile.username": document.URL.split('/')[4]
}).count() > 0) {
return true;
} else {
return false;
}
}
和route.js
Router.route('/user/:username', {
name: 'profile',
loadingTemplate: 'loading',
waitOn:function(){Meteor.subscribe('users');
},
data: function() {
return Meteor.users.find({
'profile.username': this.params.username
});
}
});
现在,当单击链接时,将呈现else块,并且页面显示此用户不存在,即使它位于Users集合中。
如果我在同一个网址上重新加载页面,它会呈现,并显示if块中的内容。
可能是什么问题?
答案 0 :(得分:0)
您应该从subscribe
返回状态值请尝试:
waitOn:function(){ return Meteor.subscribe('users'); },
另见文件:
https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#the-waiton-option