Angular 8: Nach Login wird mir die neue Componente auf dem Login Bildschirm angezeigt
bearbeitet von Gunnar BittersmannTach!
> ich habe in Angular 8
Mach aus der Problemstellung bitte ein [Stackblitz](https://stackblitz.com)-Projekt, damit man das nachvollziehen kann.
So hab ich nur allgemeine Anmerkungen.
Code ins `ngOnInit()` musst du nur dann schreiben, wenn du Inhalte von `@Input()` verarbeiten musst. Anderer Initialisierungscode kann bereits im Constructor laufen. Für Initialisierungen allgemeiner Art ist der ja zuständig. ngOnInit() ist nur ein spezieller Hook im Lifecycle. Vor allem betrifft das in der HomeComponent die Initialisierung des Formulars und das Zuweisen der `returnUrl. Letzteres kann auch gleich bei der Deklaration erfolgen, so wie du das für `model` gemacht hast.
Im AuthGuard:
> ~~~ JavaScript
> public isLoggedIn(): boolean {
> let status = false;
> if (localStorage.getItem('isLoggedIn') === 'true') {
> status = true;
> } else {
> status = false;
> }
> return status;
> }
> ~~~
Das ist sehr umständlich, hier reicht ein Einzeiler
~~~js
return localStorage.getItem('isLoggedIn') == 'true';
~~~
Noch besser ist, für den Local-/SessionStorage einen Service zu verwenden, der die Daten nach JSON serialisiert und beim Abfragen wieder Rohformat zurückgibt. Das gibts in vielerlei Ausführung auch fertig, zum Beispiel ngx-webstorage-service.
> Problem:
> Nach erfolgreichem Login lande ich zwar unter der URl /dashboard, aber leiderist die HomeKomponente mit dem Login dort noch sichtbar. Wie ändere ich das?
Kann ich nicht nachvollziehen, dafür fehlt zu viel Code.
dedlfix.