当我在服务器上定义我的流星集合并尝试在客户端访问它们而没有使用任何流星提供的方法3210我总是会收到一个错误,说Meteor collection not defined
如果我尝试重新定义客户端的方法,我得到了Meteor collection already exists
。我可以通过参考Meteor.startup()
函数中的自定义集合来解决此问题。我如何参考我在客户端服务器上定义的集合。在流星文档中,可以创建两个Meteor.Collection()
实例,并在声明之前进行订阅。在没有流星启动的情况下在客户端上提供集合
// okay to subscribe (and possibly receive data) before declaring
// the client collection that will hold it. assume "allplayers"
// publishes data from **server's "players" collection.**
Meteor.subscribe("allplayers");
...
// client queues incoming players records until ...
...
Players = new Meteor.Collection("players");
我通常把我的集合放在'/ lib/collections.js'中,'/ lib'文件夹确保它在'/ client'或'/ server'之前加载。 – BenjaminRH 2013-04-24 17:55:54
是这样更好! – Akshat 2013-04-24 18:33:59
@BenjaminRH如果我们把所有集合定义放在/ lib中,我可以在/ client或/ server下的任何文件中引用吗? – Warz 2013-04-24 20:49:53