【发布时间】:2014-03-02 19:01:02
【问题描述】:
在lib.coffee 我有@x = 1。在client.coffee 我有Meteor.subscribe('data', x)。当页面加载时,我在控制台中收到错误:
Uncaught ReferenceError: x is not defined
但是,页面加载完成后,我在控制台中输入x,它被识别为值为1的全局变量。
【问题讨论】:
标签: coffeescript meteor
在lib.coffee 我有@x = 1。在client.coffee 我有Meteor.subscribe('data', x)。当页面加载时,我在控制台中收到错误:
Uncaught ReferenceError: x is not defined
但是,页面加载完成后,我在控制台中输入x,它被识别为值为1的全局变量。
【问题讨论】:
标签: coffeescript meteor
这与评估源文件的顺序有关。有关所有详细信息,请仔细阅读文档的 this 部分。您可以玩一些带有文件名和位置的游戏,以更改它们的加载顺序:
lib目录下但是,在这种特殊情况下,您可以通过执行以下操作来延迟订阅的激活:
Meteor.startup ->
Meteor.subscribe 'data', x
或
Tracker.autorun ->
if Meteor.userId()
Meteor.subscribe 'data', x
这些技巧可用于在评估完所有源文件后执行代码。
【讨论】: