繁体   English   中英

meteorjs中未被捕获的引用错误

[英]uncaught reference error in meteorjs

我正在尝试用meteor.js构建一个应用程序。 lib目录中,我有一个文件collections.js,如下所示:

var Datum = new Meteor.Collection('datum');

if (Meteor.isServer && Datum.find().count() == 0) {

var datum = [{...}]

    _.each(datum, function(data) {
  Datum.insert(data);
});
}    

然后在我的client目录中的.js文件中看起来像:

Template.datum.helpers({
  datum: function() {return Datum.find(); }
}); 

当我尝试运行应用程序时,我得到Uncaught ReferenceError: Datum is not defined和空白页面。 我不能为我的生活弄清楚为什么会这样。 有什么建议或帮助吗? 我敢肯定,我必须做一些愚蠢的事情,但我无法弄清楚它是什么。

删除var关键字。


Meteor中的所有javascript文件都嵌入在(function(){...})()模式中,因此使用var关键字定义的所有变量都是文件的本地变量。 如果要创建整个应用程序可见的全局变量,请在不使用关键字的情况下执行此操作。

所以,而不是

var Datum = new Meteor.Collection('datum'); // local

应该有

Datum = new Meteor.Collection('datum'); // global

暂无
暂无

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

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