Проверка предварительных условий маршрута перед загрузкой контроллера

Я пишу одностраничное приложение на Angular, в частностиangular.dart, но я предполагаю, что этот вопрос все еще относится к AngularJS.

Возьмем для примера следующие маршруты:

/авторизоваться - Ожидается, что никто не будет авторизован. Если кто-то аутентифицирован, но не зарегистрирован, перенаправьте на «зарегистрировать» маршрут, если они зарегистрированы, перенаправьте на «домашний» маршрут.

/регистр - Ожидается аутентифицированный пользователь, который еще не закончил процесс регистрации. Если не аутентифицирован, перенаправить на вход. Если аутентифицировано, перенаправьте на дом.

/Главная - Ожидается аутентифицированный и зарегистрированный пользователь. Если не аутентифицировано, перенаправить на маршрут «login», если не зарегистрировано, перенаправить на маршрут «register».

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

Любая помощь будет принята с благодарностью!

Ответы на вопрос(4)

Ваш ответ на вопрос