Meteor路线中的“物体不是一个功能”

时间:2015-01-16 20:20:44

标签: meteor iron-router

我刚创建了两条工作正常的路由,但我在控制台中遇到了一个奇怪的错误,我想修复。

  

异步函数回调中的异常:TypeError:object不是函数       在OnBeforeActions.loginRequired(http://localhost:3000/client/router/config.js?8cea1a53d7ab131377c2c4f91d534123cba79b70:12:20

每次访问同一页面时都会显示此错误。

这是我的config.js文件:

Router.configure({
    layoutTemplate: "uMain"
});

var OnBeforeActions = {
    loginRequired: function (pause) {
        "use strict";
        if (!Meteor.userId()) {
            this.render("uLogin");
            return pause();
        } else {
            this.next();
        }

    }
};

Router.onBeforeAction(OnBeforeActions.loginRequired, {
    except: ["uLogin"]
});

我们的想法是将所有未登录的用户重定向到“uLogin”。 它有效(或者到目前为止我还没有发现任何错误)。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

当您点击控制台中的链接http://localhost:3000/client/router/config.js?8cea1a53d7ab131377c2c4f91d534123cba79b70:12:20时,您可以在开发者控制台中看到出现错误的行。

您的问题是新的铁路由器不再使用pause()了。从onBeforeAction中删除暂停。

开发者控制台是你的好朋友。了解如何使用它。