0
に割り当てられたオブジェクトを使用することができません:私はここで、角度2とFacebookのログインがログインするためのボタンで実装しようとしているFacebookのログイン方法
fbLogin() {
this.userLogin = new UserLogin();
FB.login((response : any) => {
if (response.authResponse) {
FB.api('/me', { fields: ['first_name', 'last_name', 'gender', 'email', 'location', 'name', 'birthday'] }, function (response) {
let user : UserLogin = new UserLogin();
console.log(this.userLogin);
user.Name = response.name || null;
user.Email = response.email || null;
user.ContactNumber = response.contactnumber || null;
user.DateOfBirth = response.birthday || null;
user.Gender = response.gender || null;
user.Country = response.location || null;
var accessToken = FB.getAuthResponse().accessToken;
console.log(accessToken);
this.userLogin = user;
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
if(this.userLogin.Email != null){
this.accountService.Login(this.userLogin).subscribe(
user => {
console.log(user);
},
err => {
console.log(err);
}
)
}
}
:
<button ion-button (click)="fbLogin()"><ion-icon name="logo-facebook"></ion-icon>Login using Facebook</button>
そしてここでは、クリックイベントハンドラです
ユーザーがログインしたら、データをuser
変数に渡し、public userLogin: UserLogin;
に割り当てます。問題はuser
がuserLogin
に割り当てられましたが、応答が遅れているためFB.login()
の範囲外では使用できません。 提案することができます、私はどのようにuserLogin
オブジェクトの応答を保存することができます同じオブジェクト上のFB.login()
以外の操作を続行?
コールバックが私のために働いてくれました。なぜFB.login()の中で 'this'で変数を使用できないのかを知りたいのですか? – Vivek