繁体   English   中英

流星无法读取未定义的属性“单击”

[英]Meteor cannot read property 'click' of undefined

我遇到一个问题,即仅在生产环境(而不是开发环境)中,我得到数百个cannot read property 'click' of undefined而每次单击的结果为3-30,而有一些cannot read property 'submit' of undefined 这可能不是Meteor的问题,而是我的代码的问题,所以我只是在寻找任何想法,为什么会发生这种情况或如何调试它。 我所有的事件都在Template.eventsTemplate.rendered 它发生在每个页面上,无论我在哪里单击。

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

首先是在生产模式下的延迟要高得多。 因此,如果您自动假定在呈现模板时已经准备好数据,则可能会遇到各种undefined因为在初始加载流星时,对象在很短的时间内为null

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

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

if(data) {
....
}

要么

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

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

可能导致它的另一件事是您正在使用的大气包,它们可能未正确映射。

要检查此内容,请在chrome检查器中查看“网络”标签:

在此处输入图片说明

查找扩展名与内容不匹配的文件(js和css文件)。

如果文件是.js文件,则可能包含HTML内容(Meteor不会提供404错误,而是为HTML提供无论调用哪个路径,因此都不会显示任何错误)。

如果是这种情况,请找出它是哪个文件并正确映射。 (您可能将click调用到未正确加载的插件)。 在生产模式下,文件会最小化,并且包路径会更改,因此也可能是这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM