0

每次我刷新页面时,我都会收到以下控制台警告,每个帮助者从集合中返回一些东西到模板。我知道原因是订阅还没有准备好,但是有什么解决办法呢?

模板助手中的异常:TypeError:无法读取未定义的属性“x”。

我已经在使用了if(collection.find({}) !== undefined),但是这让我的代码很乱,必须有办法解决这个问题。然后我尝试了警卫,但仍然没有 100% 解决。

4

2 回答 2

2

除了 Brendan 的回答,您可以使用 Blaze 检查模板的订阅是否已准备好使用

this.subscriptionsReady()

它检查模板范围内的所有订阅

this.subscribe()

在你的onCreatedonRendered块中

于 2017-11-01T21:28:51.990 回答
1

Meteor.subscribe返回一个带有名为 的响应式方法的句柄.ready()。您可以在您的助手中使用它来仅在准备好后返回 mongo 光标。

编辑:文档

于 2017-11-01T21:23:01.143 回答