我正在制作一个网络应用程序&用户可以通过他/她的凭据登录或通过Facebook& Gmail中。当用户通过Facebook或Gmail登录时出现问题,如登录后我将用户重定向到主页& ngOninit()函数未被调用,因此我无法在初始页面加载时调用任何API。它通过凭据登录时有效。可能的原因是什么?请帮忙。
install and restart
答案 0 :(得分:0)
我认为 NgZone 会解决问题。
import { Component, OnInit, EventEmitter, Output } from '@angular/core';
import {GlobalService} from '../services/global.service';
import { NgZone } from '@angular/core';
export class HomeComponent implements OnInit {
constructor(private loginservice: LoginService, private globalService:
GlobalService,private zone:NgZone) {}
ngOnInit() {
if (this.globalService.user_token) {
this.zone.run(() =>
this.loginservice.userDetails(this.globalService.user_token)
.subscribe((response: any) => {
console.log(response);
}
);
}
}
答案 1 :(得分:0)
谢谢Sunil,这对我有用。正如Mohit所说,Cognito User Pool登录工作正常,但是当路由器加载仪表板时,gauth导致ngInit()生命周期事件没有被触发。
angular5 core / router 5.2.0,aws-amplify,gapi latest