1

在我的主 js 文件中,我定义了一个“new Meteor.Collection("Decks")”,如果没有数据,我会填充一些数据。

现在我在客户端文件夹中有一个视图文件夹,其中包含用于模板事件的 javascript。每个模板都有自己的 js 文件。这些事件需要查询和更新 Decks 集合,但我不知道该怎么做。我尝试在事件代码中编写“new Meteor.Collection("Decks")”,但我收到一个错误,即该集合已存在。

我可以想象使用 requirejs 将全局变量传递给事件,但我觉得在 Meteor 中必须有一种本地方式来做到这一点。

如何访问不同文件中的同一个集合?

举个例子,我的应用叫做“builder”,所以主js叫做“builder.js”,包含:

var Decks = new Meteor.Collection("Decks");

然后我在客户端文件夹中有另一个名为“do_other_stuff.js”的 javascript 文件,它想要查询 Decks 集合,如下所示:

var first_deck = Decks.findOne({name: "first"});

但显然这行不通,因为 Decks 不是全局变量。

4

2 回答 2

2

简单地说,创建Decks一个全局变量!删除var关键字:

Decks = new Meteor.Collection("Decks");
于 2013-08-21T10:46:55.470 回答
0

Meteor.subscribe("Decks")在文件中应该可以解决问题。

于 2013-08-21T10:14:06.770 回答