在lib.coffee
我@x = 1
。在client.coffee
我有Meteor.subscribe('data', x)
。页面加载时,我在控制台中收到错误:
Uncaught ReferenceError: x is not defined
但是,在页面加载完成后,我在控制台中键入x
,它被识别为值为1的全局变量。
答案 0 :(得分:4)
它与评估源文件的顺序有关。有关所有详细信息,请仔细阅读文档的this部分。您可以使用文件名和位置玩多种游戏,以便更改其加载顺序:
lib
目录但是,在这种特殊情况下,您可以通过执行以下操作来延迟订阅的激活:
Meteor.startup ->
Meteor.subscribe 'data', x
或
Tracker.autorun ->
if Meteor.userId()
Meteor.subscribe 'data', x
在评估完所有源文件后,可以使用这些技巧执行代码。