完全混淆了流星铁路由器中的this.next()

时间:2014-11-01 20:15:31

标签: javascript meteor iron-router

我升级到Meteor 1.0,安装了最新的铁路由器包,尝试运行我的应用程序并在我的控制台日志中收到了这个不错的警告:

  

路线调度从未呈现过。你有没有忘记打电话给this.next()   onBeforeAction?

所以我尝试根据新版本修改我的路线。

this.route('gamePage', {
        path: '/game/:slug/',
        onBeforeAction: [function() {
            this.subscribe('singlePlayer', this.params.slug).wait();
            var singlePlayer = this.data();
            if (singlePlayer) {
                if (singlePlayer.upgrade) {
                    this.subscribe('upgrades', this.params.slug).wait();
                    this.next();
                }
                this.next();
            }
            this.next();
        }],
        data: function() {
            return Games.findOne({slug: this.params.slug});
        },
        waitOn: function() { return [Meteor.subscribe('singleGame', this.params.slug)]}
    });

我该如何解决这个问题? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:9)

尝试删除所有.wait()并删除onBefore函数周围的数组。

新API this.next()取代.wait()