Meteor - 登录后浏览器无响应

时间:2015-04-14 13:38:22

标签: meteor meteor-blaze meteor-accounts

到目前为止,我一直在使用account-ui和{{> loginButtons}}我的应用程序,一切都很好。我最近实施了自己的注册/登录,因此我可以进行自己的自定义,一切正常(我可以注册,创建新帐户,然后使用该新帐户登录)。

问题在于,在注册或使用我的自定义登录信息登录后,任何被渲染的模板都会冻结(无法向上/向下滚动)。我必须刷新页面才能工作(需要再次创建模板)。所以我在我的Meteor.loginWithPassword回调中有一个黑客用来在用户登录后重新加载页面而没有错误。这肯定不是Meteor方式,给用户带来了不好的体验。所以我一定要避免这种情况。但我似乎无法找到解决方案。

Meteor.loginWithPassword(email, password, function(error) {
            if (error) {
                alert('Invalid credentials - please check your email/password and try again');  
            } else {
                Meteor._reload.reload()
            }
});

我的Iron路由器中有一个设置:"如果用户未登录,则渲染登录页面,如果已登录使用,请继续执行下一个操作"。可能是这里的东西吗?

var requireLogin = function() {
    if (! Meteor.user()) {
        if (Meteor.loggingIn()) {
            this.render('loading');
        } else {
            this.render('landingpage');
        }
    } else {
        this.next();
    }
}

Router.onBeforeAction(requireLogin, {except: 'landingpage'});

或者我应该在Meteor.loginWithPassword()回调函数中做更多的事情?

我已花了大约30个小时的时间,并决定最好寻求帮助,而不是浪费更多时间并且没有结果。 (虽然在这个过程中了解了很多关于铁路由器和帐户的信息 - 所以这是一个优点)。

感谢任何帮助/新观点!提前谢谢!

这不是问题
通过几个小时的逻辑和推理,(我在开玩笑,这都是试验和错误),我通过将登录模板放在主布局而不是登陆页面来实现它。用户登录后,Meteor会有效地破坏目标网页模板,并使用我的登录模板。我的猜测是,这导致我的Meteor.loginWithPassword()回调无法正常启动。哦,好几个小时我都没有回来。

感谢那些花时间查看问题的人

0 个答案:

没有答案