Angular2与Facebook API
我尝试使用Facebook API将用户登录到Angular-2应用程序。我的打字脚本文件中有一个错误。'找不到名称FB'Angular2与Facebook API,facebook,angular,api,typescript,Facebook,Angular,Api,Typescript,我尝试使用Facebook API将用户登录到Angular-2应用程序。我的打字脚本文件中有一个错误。'找不到名称FB' (<any>window).fbAsyncInit = function() { FB.init({ appId : '123456789012345', cookie : true, xfbml : true,
(<any>window).fbAsyncInit = function() {
FB.init({
appId : '123456789012345',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
};
(window).fbAsyncint=function(){
FB.init({
appId:'123456789012345',
曲奇:是的,
xfbml:是的,
版本:“v2.8”
});
FB.getLoginStatus(函数(响应){
状态更改回调(响应);
});
};
有谁能提供一个解决方案吗?提前谢谢 您需要声明一个常量才能将facebook SDK与angular一起使用 在组件声明的正上方声明FB常量
declare var FB: any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: []
})
然后在构造函数中初始化facebook SDK。那么,是否存在名为FB的对象?装了吗?这是运行时错误吗?@BobbyTables嗨Bobby。。调用函数时,将创建对象FB。这是一个编译时错误。当我在HTML文件中的脚本标记中给出相同的代码时,它就起作用了。但如果我在Angular服务的函数中键入相同的代码,它会说找不到名称FB。我正在寻找一种方法来避免typescript文件中出现这种错误。即使采用这种方法,有时facebook SDK需要一些时间来加载,而FB变量在调用构造函数时还不存在。因此,为了处理这种情况,我们需要在加载FB SDK文件后添加回调。我同意这不是一个很好的解决方案,但这个问题将发生在任何框架中,而不仅仅是在网络速度缓慢的情况下。