2016-01-16 6 views
1

У меня есть небольшое примерное приложение, которое загружает различные компоненты на основе маршрутов в Angular 2 (используя TypeScript).Выполнение базового компонента перед использованием компонента маршрута для auth

То, что я хотел бы попробовать, это способ проверки подлинности перед тем, как вызывается фактический компонент, принадлежащий маршруту.

Я мог бы, например, легко создать какой-то базовый класс, и пусть все мои классы компонентов простираются от этого. Но тогда я должен убедиться, что все мои компоненты вызовут конструктор базового класса.

Но, возможно, существует более «Угловой 2» способ достичь той же цели?

Я еще не нашел много информации по этому вопросу. Есть ли способ запуска, допустим, класс AuthComponent перед загрузкой любого другого компонента?

ответ

1

Проверьте @CanActivate аннотаций:

https://angular.io/docs/ts/latest/api/router/CanActivate-decorator.html

вы можете предотвратить компонент от получения экземпляра и перенаправить их для входа.

+0

Но это не позволяет мне перенаправлять пользователя на страницу входа. Насколько мне известно, это предотвращает загрузку компонента. – Vivendi

+0

Что мешает вам перенаправлять? – Langley

+0

Функция 'CanActivate' ожидает в качестве возвращаемого значения' bool'. Я не могу ничего делать. Также нет способа ввести класс «Router», в котором мне также нужно сделать перенаправление. – Vivendi

Смежные вопросы