每次刷新页面时,我都会收到以下控制台警告,警告每个从集合向模板返回内容的助手。我知道原因是订阅还没有准备好,但解决方案是什么?
模板帮助程序中出现异常:TypeError:无法读取未定义的属性"x">
我已经在使用if(collection.find({}) !== undefined)
了,但这让我的代码非常混乱,必须有办法解决这个问题。然后我尝试了警卫,但仍然没有100%解决。
除了Brendan的答案外,使用Blaze还可以使用检查模板的订阅是否准备好
this.subscriptionsReady()
它使用检查模板范围内的所有订阅
this.subscribe()
在您的onCreated
或onRendered
块中
Meteor.subscribe
返回一个句柄,该句柄带有一个名为.ready()
的反应方法。您可以在助手中使用它,只在mongo游标准备好后返回它。
编辑:文档