@nProfessor

Как реализовать в Angular2 и несколько layouts?

Делаю админку на Angular2.
Не авторизованным пользователям необходимо показывать лайаут авторизации, не авторизованным личный кабинет.
Возникла проблема с локаутами.

В app.component.ts пишу <app-main></app-main>
Туда подгружается шаблон личного кабинета.

Там же внутри <router-outlet></router-outlet>

И соответственно компонент авторизации подгружается в <router-outlet>
Вместе со всеми менюшкам, шапками и подвалом. А хочется что бы кроме ввода логина и пароля больше ничего небыло.

Хочется при одном условии в <app-main> засовывать компонент авторизации, при другом компонент личного кабинета.

Подскажите, как это правильно реализуется.
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ответы на вопрос 2
werftgyhj
@werftgyhj
js = just sex
По идее у тебя должен быть токен который ты будешь отсылать на сервер для идентификации пользователя. Так вот в можно сделать проверку
<component-with-router-outlet *ngIf="token"></component-with-router-outlet>
<component-with-router-outlet-for-login *ngIf="!token"></component-with-router-outlet-for-login>


А если у тебя приходит 401 ошибка о том что токен не валиден или его нет то просто удаляй токен из стореджа.
Я так не пробовал, но если бы пробовал то делал так)
Ответ написан
Комментировать
nuclear_kote
@nuclear_kote
Есть для ui-router'a такая реализация:
https://github.com/ui-router/sample-app-angular/bl...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы