【发布时间】:2016-11-23 05:34:59
【问题描述】:
我的代码是关于 Angular2 中的 LinkedIn 身份验证的问题。
import {Component , OnInit , NgZone} from 'angular2/core';
import {HTTP_PROVIDERS} from 'angular2/http';
import {ROUTER_DIRECTIVES , Router} from 'angular2/router';
declare var IN : any;
@Component({
directives : [ROUTER_DIRECTIVES],
selector : '.main',
providers : [HTTP_PROVIDERS],
templateUrl : './app/registration/employee.reg.html'
})
export class EmployeeRegistrationComponent implements OnInit{
constructor(private zone : NgZone){
this.zone.run(() => {
$.proxy(this.OnLinkedInFrameworkLoad, this);
});
}
ngOnInit(){
var linkedIn = document.createElement("script");
linkedIn.type = "text/javascript";
linkedIn.src = "http://platform.linkedin.com/in.js";
linkedIn.innerHTML = "\n"+
"api_key: **********\n" +
"authorize: true\n" +
"onLoad:" + this.OnLinkedInFrameworkLoad ;
document.head.appendChild(linkedIn);
var script = document.createElement("script");
script.type = "in/Login";
document.body.appendChild(script);
}
OnLinkedInFrameworkLoad = () => {
IN.Event.on(IN, "auth", this.OnLinkedInAuth);
}
OnLinkedInAuth = () => {
IN.API.Profile("me").result(result => this.ShowProfileData);
}
ShowProfileData(profiles) {
console.log(profiles);
var member = profiles.values[0];
var id=member.id;
var firstName=member.firstName;
var lastName=member.lastName;
var photo=member.pictureUrl;
var headline=member.headline;
//use information captured above
}
}
控制台抛出错误:angular2-polyfills.js:1250 Uncaught Error: Could not execute 'function () {'. Please provide a valid function for callback.
请帮我看看我做错了什么......
【问题讨论】:
-
那么是 Angular 允许您将脚本标签附加到 dom 吗?
-
是的.. 因为我正在使用 javascript dom 函数.. 来处理脚本标签
-
@DoubleH 你有没有让这个工作?我很难实现这一点,而且关于如何做这样的事情的文档很少。
标签: angular