4

如果我声明一个全局集合如下:

@Matches = new Meteor.Collection "Matches"

如何在 Meteor 的服务器端和客户端的闭包中找到一致的方式来访问它?

例如,以下不起作用,因为@引用this(它不是闭包中的顶级命名空间)

Meteor.publish("current-matches", ->
  return @Matches.find(round: 0)  # @Matches doesn't work since `this` is something else
)
4

1 回答 1

6

将您的集合定义放在一个共享目录中,以便客户端和服务器都可以看到它们。然后,您可以在没有@. 例如:

集合/matches.coffee

@Matches = new Meteor.Collection 'matches'

服务器/server.coffee

Meteor.publish 'current-matches', ->
  Matches.find round: 0
于 2013-06-04T22:22:53.540 回答