我正在开发一个需要facebook登录的应用程序。这里是我的TS文件Angular 2的值在html中不更新
ngOnInit() {
setTimeout(() => {
this.initialize();
})
}
initialize() {
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
setTimeout(() => {
window.fbAsyncInit = () =>{
FB.init({
appId: 'your-app-id', //I gave my app id here
cookie: true, // enable cookies to allow the server to access
// the session
xfbml: true, // parse social plugins on this page
version: 'v2.8' // use graph api version 2.8
});
this.checkFBLoginStatus();
}
})
}
checkFBLoginStatus() {
FB.getLoginStatus((response) =>{
this.verifyResponse(response);
});
}
verifyResponse(response){
this.response = response;
console.log(this.response) // I am getting the console output
}
这里是我的HTML
<!--For Testing purpose-->
Response is->
<p *ngIf="response">{{response.status}}</p>
<!--For Testing purpose-->
<button *ngIf="response && response.status && response.status == 'unknown'" class="btn blue fb-login-button" (click)="loginUsingFacebook()"><span class="fa fa-facebook white-text"></span>Login Using Facebook</button>
<button *ngIf="response && response.status && response.status == 'not_authorized'" class="btn blue fb-login-button" (click)="continueUsingFacebook()"><span class="fa fa-facebook white-text"></span>Continue Using Facebook</button>
<button *ngIf="response && response.status && response.status == 'connected'" class="btn blue fb-login-button" (click)="logoutFacebook()"><span class="fa fa-facebook white-text"></span>Logout Facebook</button>
的response.status是显示在控制台中。但它没有被绑定到HTML。所以我无法看到相应的按钮。
我想检测用户是否登录或如果没有,什么是最好的方式,我可以捕获JavaScript脚本的onlogin函数(facebook attr)打字稿。
感谢