对于我的铁:路由器,我有一个waitOn钩子来订阅一个集合。每当我挂钩时,页面都无法从Public文件夹中加载图片,我不确定为什么会这样......
但每当我删除WaitOn挂钩时,图片会再次加载。
路由器订阅
Router.route('/postPage/:_id', {
name: 'profile',
waitOn: function() {return Meteor.subscribe('comments', this.params._id) ;},
data: function() { return Posts.findOne(this.params._id); }
});
公开
Meteor.publish('comments', function(postId) {
check(postId, String);
return Comments.find({postId: postId});
});
答案 0 :(得分:1)
无法加载的一个原因是waitOn
永远不会返回。 waitOn
将阻止,直到其所有订阅都被各自的发布商标记为已准备好。在这种情况下,如果comments
不是字符串,postId
发布商将失败 - 将抛出错误,永远不会调用this.ready()
。我建议进一步调试:
this.params._id
实际上是一个字符串check(postId, String)
答案 1 :(得分:0)
尝试data: function() { return Posts.findOne(_id: this.params._id); }