Знак Google Angular2

Привет, я пытаюсь использовать Angular2 с Type Script, чтобы добавить вход/выход в/из 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

Пожалуйста, помогите мне выбраться из этого. Заранее спасибо.


person Loga Nathan    schedule 09.03.2017    source источник


Ответы (1)


Ошибку можно исправить, скрыв кнопку входа после успешного входа.

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

См. этот ответ

Также я следовал этому примеру plunkr и отлично работал со мной.

person notnotundefined    schedule 09.03.2017
comment
спасибо Thabung, но я хочу, чтобы Google входил в качестве службы или модуля, как я могу этого добиться, пожалуйста, помогите мне .... - person Loga Nathan; 10.03.2017
comment
Привет, спасибо за ответ, я нашел решение по этой ссылке - person Loga Nathan; 19.09.2017