在我的主js文件中,我定义了一个“new Meteor.Collection(”Decks“)”,如果没有数据,我会填充一些数据。
现在我在客户端文件夹中有一个视图文件夹,其中包含模板事件的javascript。每个模板都有自己的js文件。那些事件需要查询和更新Decks集合,但我不知道如何做到这一点。我尝试在事件代码中编写一个“new Meteor.Collection(”Decks“)”,但我收到一个错误,表明该集合已经存在。
我可以想象使用requirejs可能会将全局变量传递给事件,但我觉得在Meteor中必须有一种本地方式来执行它。
如何在不同的文件中访问同一个集合?
例如,我的应用程序称为“构建器”,因此主要的js称为“builder.js”并包含:
var Decks = new Meteor.Collection("Decks");
然后我在客户端文件夹中有另一个名为“do_other_stuff.js”的javascript文件,它想要查询Decks集合,所以类似于:
var first_deck = Decks.findOne({name: "first"});
但显然这不起作用,因为Decks不是一个全局变量。
答案 0 :(得分:2)
简单地说,让Decks
成为一个全局变量!删除var
关键字:
Decks = new Meteor.Collection("Decks");
答案 1 :(得分:0)
Meteor.subscribe("Decks")
应该可以解决问题。