Проверка предварительных условий маршрута перед загрузкой контроллера
Я пишу одностраничное приложение на Angular, в частностиangular.dart, но я предполагаю, что этот вопрос все еще относится к AngularJS.
Возьмем для примера следующие маршруты:
/авторизоваться - Ожидается, что никто не будет авторизован. Если кто-то аутентифицирован, но не зарегистрирован, перенаправьте на «зарегистрировать» маршрут, если они зарегистрированы, перенаправьте на «домашний» маршрут.
/регистр - Ожидается аутентифицированный пользователь, который еще не закончил процесс регистрации. Если не аутентифицирован, перенаправить на вход. Если аутентифицировано, перенаправьте на дом.
/Главная - Ожидается аутентифицированный и зарегистрированный пользователь. Если не аутентифицировано, перенаправить на маршрут «login», если не зарегистрировано, перенаправить на маршрут «register».
Я провел довольно много поиска, но не могу найти встроенный или идиоматический способ проверки, чтобы убедиться, что определенные предварительные условия выполнены перед загрузкой контроллера, связанного с конкретным маршрутом, и перенаправить соответствующим образом, когда эти предварительные условия не выполняются.
Любая помощь будет принята с благодарностью!