iron:router 当我尝试先获取客户端集合时出错

iron:router error when I try to fetch a client-side collection before everything else

当我尝试在加载其他所有内容之前获取客户端集合(基本上是语言设置)时。但是我收到 iron:router 错误。

可能是我在 Meteor 应用程序的加载顺序上犯了一个愚蠢的错误,但我两天都无法解决这个问题。

client/lib/_translations.js:

translations = {
    Visits: {
        en_US: "Visits",
        en_GB: "Visits",
        tr_TR: "Ziyaretler"
    },
    .
    .
    .
    "Language": {
        en_US: "Language",
        en_GB: "Language",
        tr_TR: "Dil"
    }
}

selectedLanguage = "en_US";

没关系。但是当我尝试从数据库中提取时:

selectedLanguage = settings.findOne().language;

它给我 "iron:router Organize your Meteor application." 错误。我也不明白 iron:router 给我这个错误的原因。

我想做的是在加载任何客户端代码之前定义一个全局变量 (selectedLanguage)。

您可以从 here 获取整个项目。

最早的获取可以在Meteor.subscribe()的回调中实现,例如:

Meteor.subscribe('settings', function() {
    selectedLanguage = settings.findOne().language;
});