4
在lib.coffee
我有@x = 1
。在client.coffee
我有Meteor.subscribe('data', x)
。頁面加載時,我得到的錯誤在控制檯:如何在Meteor的客戶端啓動時使用全局Coffeescript變量?
Uncaught ReferenceError: x is not defined
然而,在頁面加載完成後,我在控制檯輸入x
,它是公認的具有值1的全局變量。
在lib.coffee
我有@x = 1
。在client.coffee
我有Meteor.subscribe('data', x)
。頁面加載時,我得到的錯誤在控制檯:如何在Meteor的客戶端啓動時使用全局Coffeescript變量?
Uncaught ReferenceError: x is not defined
然而,在頁面加載完成後,我在控制檯輸入x
,它是公認的具有值1的全局變量。
它與評估源文件的順序有關。對於所有細節,請仔細閱讀文檔中的this部分。您可以按順序播放了一些與文件名和位置的遊戲,以改變他們的加載順序:讓他們按字母順序顯示
lib
目錄在這種特定情況下首次加載文件,但是,你可以推遲訂閱的激活,通過執行類似:
Meteor.startup ->
Meteor.subscribe 'data', x
或
Tracker.autorun ->
if Meteor.userId()
Meteor.subscribe 'data', x
訣竅等這些可用於所有的源文件的已被評估之後執行代碼。
非常感謝David回答我的大部分SO流星問題:)我想知道爲什麼你不提高問題 - 是因爲他們沒有很好形成或不太可能適用於其他人? – Loren
當然沒問題。 :)這是一個很好的問題......我可能應該對選票更加慷慨,因爲我期待同樣的回報。 +1 –