Meteor无法读取未定义的属性“click”

时间:2013-08-29 21:16:22

标签: javascript meteor

我遇到了一个问题,即仅在制作中(不是开发版)我在每次点击时会获得数百cannot read property 'click' of undefined个,其中包含cannot read property 'submit' of undefinedTemplate.events。这可能不是Meteor的问题,而是我的代码,所以我只是在寻找任何想法,为什么会发生这种情况或者我如何调试它。我的所有活动都在Template.rendered或{{1}}。它发生在每一页上,无论我点击哪里。

1 个答案:

答案 0 :(得分:1)

有几件事可能导致这种情况。

首先,在生产模式中,延迟要高得多。因此,如果您自动假设在渲染模板时数据已准备就绪,那么当流星初始加载时,您可以获得各种undefined作为对象的null非常短的时间。

您可以查看代码,看看您是否使用过findOnefind。对于初始加载,您需要确保在没有任何结果的情况下正确处理查询结果。即

var data = myCollection.findOne(...);

if(data) {
....
}

var data = myCollection.find(...);

if(data.count()>0) {
....
}

可能导致它的另一件事是您使用的气氛包可能无法正确映射。

要查看此内容,请查看Chrome检查器中的网络标签:

enter image description here

查看扩展名与其内容(js& css文件)不匹配的文件。

如果文件是.js文件,它可能包含HTML内容(Meteor不会提供404错误,而是在调用任何路径的情况下为它们提供html,因此不会给出明确的错误。)

如果是这种情况,请确定它是哪个文件并正确映射。 (您可能正在调用单击一个未正确加载的插件)。在生产模式下,文件会缩小,并且包路径会发生变化,因此也可能是这样。