因此,我对meteor框架和JavaScript一般都比较陌生,但我正在做一个使用该框架的小项目,试图让自己上手。基本上,我在一个微博网站上工作。
目前用户可以通过几个服务登录,fb,google等,我通过插入到所需的url中的服务id检索他们的头像,所有这些都工作得很好。但我希望用户一登录就能看到他们自己的头像,这意味着我需要在登录成功后立即运行一些JavaScript。在这一点上,我找不到任何关于onLogin风格的事件。并在用户登录时运行代码的handlebars模板。然而,这段代码似乎只运行一次,如果用户注销然后重新登录,他们就看不到自己的头像了。
有没有人知道我可以用来做这件事的事件?
这是我的hacky模板
{{#if currentUser}}
{{> userInput}}
{{/if}}
下面是它调用的js
$('#inputAvatar').css('background-image', 'url('+avatarUrl+')');
我真的很感谢你的帮助,我相信这是我忽略了的一些简单的事情,但我似乎想不出来!
谢谢,彼得。
发布于 2013-05-03 14:58:02
我不知道您这样做是否最合适,但我个人在客户端执行以下操作,以检测是否有用户登录:
Tracker.autorun(function(){
if(Meteor.userId()){
//do your stuff
}
});
发布于 2015-05-08 03:21:54
如果您使用google登录或任何其他o-auth登录,您可以传递一个回调函数,该函数将在登录后执行,
以下是示例代码。
Meteor.loginWithGoogle({
requestPermissions: ['email']
}, function(error) {
if (error) {
console.log(error); //If there is any error, will get error here
}else{
console.log(Meteor.user());// If there is successful login, you will get login details here
}
});
https://stackoverflow.com/questions/16350424
复制相似问题