不支持调用Angular2SocialLoginModule函数调用

时间:2017-04-24 05:19:48

标签: angular angular2-routing angular2-template angular2-services

我是角度js2的新手。目前我正在使用一个Web应用程序,它使用angular2作为前端。在这个应用程序中,我使用angular2-social-login进行身份验证。但是当我运行npm start时,我得到了以下错误

  

ERROR in Error遇到静态解析符号值。调用函数'Angular2SocialLoginModule',不支持函数调用。考虑使用对导出函数的引用替换函数或lambda,解析/var/www/html/ngtest/src/app/app.module.ts中的符号AppModule,解析/ var / www / html / ngtest /中的符号AppModule SRC /应用/ app.module.ts

当我谷歌时,有人说这是因为在项目中使用了角度cli。但我卸载了角度cli,仍然存在问题。 有没有人知道如何解决这个问题?

我的app.module.ts代码位于

之下
import { Angular2SocialLoginModule } from "angular2-social-login";
let providers = {    

 "facebook": {
  "clientId": "xxxxxxxxxxxxx",
  "apiVersion": "v2.8"
}, 
 "linkedin": {
  "clientId": "xxxxxxxxxxx"
}, 
"google": {
  "clientId": "xxxxxxxxxx"
}

};
@NgModule({
 imports: [
     Angular2SocialLoginModule.initWithProviders(providers),
 ],
})
export class AppModule { }

我在header.component.ts中调用了这个模块,请参阅header.component.ts文件

import { AuthService } from "angular2-social-login";
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css'],
providers: [Modal]
})
export class HeaderComponent implements OnInit {
constructor(public _auth: AuthService){ }

 signIn(provider){
 this.sub = this._auth.login(provider).subscribe(
 (data) => {
console.log(data);
   }
 )}
logout(){
this._auth.logout().subscribe(
(data)=>{


//return a boolean value.
}
)}
}

以上是我的代码,请看看。如果需要更多详细信息,请发表评论

3 个答案:

答案 0 :(得分:3)

更新

在angular2-social-login v.3.0.0中,你可以写:

$allowed = array('wpmenucart_ajax');
if( !in_array($_REQUEST['action'], $allowed) )
  die('0');

旧版

删除

@NgModule({
  ...
  imports: [ 
     Angular2SocialLoginModule
  ]
})
export class AppModule { 
  constructor(){}
}

Angular2SocialLoginModule.loadProvidersScripts(providers);

试试这个:

imports: [
  Angular2SocialLoginModule.initWithProviders(providers),
],

答案 1 :(得分:0)

它对我有用。

export class AppModule {
    constructor() {
        Angular2SocialLoginModule.initWithProviders(providers);
    }
}

答案 2 :(得分:0)

解决上述问题的另一种解决方案:

export class AppModule {
 constructor() {
}}
Angular2SocialLoginModule.initWithProviders(providers);