2

我有一个非常标准的过滤器来检查您是否已登录:

requireLogin: function(page) {
    if (Meteor.user()) {
        return page;
    }   else if (Meteor.loggingIn()) {
        return 'loading';
    }   else {
        return 'login';
    }

}

现在,当我转到需要登录的页面时,我得到了预期的登录模板,但 url 未更改。但是,如果我只是尝试使用 loginwithpassword 登录,它的 loggingin() 会稍等一下,然后像什么都没发生一样返回登录模板(似乎从未调用过回调函数)。现在,如果我只是使用相同的模板从 /login url 登录,则可以正常登录。

登录代码:

'click .userlogin':function(e, tmpl) {
    Meteor.loginWithPassword(
        {email: tmpl.find("#emailInput").value},
        tmpl.find("#passInput").value,
        function(err){
           if (err) {
                // handle error
                Session.set('errorMessage', err.reason || 'Unknown error');
                Session.set("showErrorMessage", true);
            } else {
                // show an alert
                Meteor.Router.to('/profile');
            }
    });
}
4

0 回答 0