我正在尝试使用他的FB帐户登录后在侧栏上显示用户的个人资料图片。显然,数据是从Facebook加载但在页面初始化之后。因此,图像不会按我的意愿显示。我得到的只是空缩略图。
在控制台中,我得到:Value below was evaluated just now
在下面,我可以看到所有需要正确加载但未显示的数据。在.html部分"脚本"我用:
function getFBData () {
FB.api('/me', function (response) {
fbinfo = new Array();
var im = document.getElementById("profileImage").setAttribute("src", "http://graph.facebook.com/" + response.id + "/picture?type=normal?callback=?");
});
public var id = response.id;
public var first_name = response.first_name;
public var last_name = response.last_name;
var email = response.email;
}
在component.ts文件中,我实现了console.log(this.userDetails);
答案 0 :(得分:0)
FB.api
是异步的,您只能访问回调函数中的响应:
function getFBData () {
FB.api('/me', (response) => {
document.getElementById("profileImage").setAttribute("src", "http://graph.facebook.com/" + response.id + "/picture?type=normal");
const id = response.id,
first_name = response.first_name,
last_name = response.last_name,
email = response.email;
});
}
此外,使用箭头函数和const更新代码(因为它是2017年)。 :)