• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Angular 7 - Component mit ngIf anzeigen bzw. nicht anzeigen?

Tabula_Rasa

Mitglied
Hallo,

ich frage mich, wie man ein Component anzeigen sollte. Zum Beispiel hat man ein Anmeldeformular und wenn man angemeldet ist, soll die Navigagion zu sehen sein und das Formular nicht mehr vorhanden sein.

Was wäre die "beste" Lösung ein Component "verschwinden" zu lassen?
 
Werbung:
Hast du das auch konzeptionell durchdacht?

Die Navi selber sollte immer angezeigt werden, aber die Links nur nach Log-Status des Users. Dabei hilft dann das ngIf.
 
Hast du das auch konzeptionell durchdacht?

Die Navi selber sollte immer angezeigt werden, aber die Links nur nach Log-Status des Users. Dabei hilft dann das ngIf.
Mein "Auftraggeber" möchte es so, deshalb Frage ich mich wie man am sinnvollsten das macht und wo die Variable Typs Boolean am besten stehen soll...
 
Werbung:
Das hatte ich vor
Aber wie mache ich das am besten mit der Boolean Variable, wo soll sie stehen und sind die Daten mit ngif wirklich sicher? Ich habe da einen Ansatz aber ich frage lieber nochmal einen, der sich auskennst
 
Hängt davon ab, was du mit sicher meinst. Ein ngIf="false" innerhalb des Templates verhindert, dass ein Tag gerendert wird. Die Component selber wird aber geladen und nur, weil die Navi nicht angezeigt wird, sind die Routen nicht geschützt.
 
Werbung:
Hängt davon ab, was du mit sicher meinst. Ein ngIf="false" innerhalb des Templates verhindert, dass ein Tag gerendert wird. Die Component selber wird aber geladen und nur, weil die Navi nicht angezeigt wird, sind die Routen nicht geschützt.
Dann noch die Routen schützen. Mit der boolean Variablen kommunizieren wir zwischen 2 Component, also brauchen wir hier einen Servicd für die Variable, richtig?
 
Du erstellst einen AuthService in dem der Log-Status des Users in einer Observable gespeichert wird. Dazu einen AuthGuardService mit der Methode CanActivate. Die Observable fragst du anschließend im ngIf des Templates und im AuthGuardService ab. Den AuthGuardService muss du dann den zu schützenden Routen zuweisen.
 
Werbung:
Zurück
Oben