Ich folgte offiziellen https://material.angular.io/components/dialog/overview, wo es besagt, dass, wenn die Dialogkomponente selbst geschlossen werden muss, wir MdDialogRef Referenz wie unten und dann schließen auf ein EreignisMdDialogRef.close schließt den Dialog nicht beim Aufruf von einem Callback Fn
export class LoginDialogComponent {
constructor(public dialogRef: MdDialogRef<LoginDialogComponent>,
@Inject(MD_DIALOG_DATA) public data: any, public afAuth: AngularFireAuth, private router: Router) {
}
closeDialog(): void {
this.dialogRef.close();
}
signInWithGoogle() {
const self = this;
this.afAuth.auth
.signInWithPopup(new firebase.auth.GoogleAuthProvider())
.then(res => {
self.closeDialog();
});
}
}
Nach erfolgreicher Antwort von Google OAuth, sehe ich, dass closeDialog() aufgerufen wird. Der Dialog ist jedoch nicht geschlossen. [Ich habe keine Probleme schließen Dialogfeld als Teil von SetTimeOut/UserAction]
Mine ist eine andere, ich versuche, den Dialog 'bei einem Callback-Event' zu schließen. Wie bereits erwähnt, habe ich keine Probleme beim Öffnen/Schließen von Benutzereingaben. – nsk