0

こんにちは、Type Script を使用して Angular2 を試して、ガイドによって Google へのログイン/ログアウトを追加しようとしています。

Index.html 内

 <script src="https://apis.google.com/js/platform.js"></script>

LoginComponent.ts 内

declare const gapi: any;

ngAfterViewInit() {
  gapi.signin2.render(
  this.googleLoginButtonId,
  {"onSuccess": this.onGoogleLoginSuccess,"scope": "profile",
    "theme": "dark"},function (error) {
   console.log(JSON.stringify(error, undefined, 2));
  });

}

      onGoogleLoginSuccess = (loggedInUser) => {
var profile = loggedInUser.getBasicProfile();
       this.auth.LoginSuccess(loggedInUser);
      }

それは私にとってはうまくいきますが、loginSuccessのときにビューをプロファイルページにルーティングしたい場合、次のようなエラーに直面しています:

Uncaught TypeError: Cannot read property 'style' of null
    at G_ (cb=gapi.loaded_0:282)
    at H_.<anonymous> (cb=gapi.loaded_0:285)
    at Function.<anonymous> (cb=gapi.loaded_0:155)
    at MessagePort.c.port1.onmessage (cb=gapi.loaded_0:73)

また、サービスまたはモジュールとしてのログインプロセス全体を再利用したい。この Google ログイン操作全体をモジュールまたはサービスとして作成するにはどうすればよいですか

コード スニペットまたは動作するデモを提供するか、これを実現するための angular2 モジュールを提案してもらえますか。

angular2SocialLoginモジュールも試しましたが、プロダクションでエラーが発生したときにエラーが表示されますが、gitの問題で言及していると思われる人もいます

それから私を助けてください。事前に感謝します..

4

1 に答える 1

2

ログインが成功したら、ログインボタンを非表示にすることでエラーを修正できます。

 <div id="g-signin2" style="display: none;"></div>

この回答を参照してください

また、私はこのplunkrの例に従い、うまくいきました

于 2017-03-09T10:33:04.890 に答える