每次刷新页面时,我都会收到以下控制台警告:每个帮助器都会从集合中返回一些模板。我知道原因是因为订阅尚未准备好,但解决方案是什么?
模板助手中的异常:TypeError:无法读取未定义的属性“x”。
我已经在使用if(collection.find({}) !== undefined)
,但这会让我的代码变得如此混乱,必须有办法解决这个问题。然后我尝试了guards,但仍未100%解决。
答案 0 :(得分:2)
除了Brendan的回答,使用Blaze,您可以使用
检查模板的订阅是否准备就绪[['FirstName','Amr'], ['SecondName','Adel']]
使用
检查作用于模板的所有订阅this.subscriptionsReady()
在您的this.subscribe()
或onCreated
块
答案 1 :(得分:1)
Meteor.subscribe
返回一个名为.ready()
的被动方法的句柄。你可以在你的助手中使用它只在它准备好后才返回mongo游标。
修改:docs