Я широко использую резольверы в Angular, и они великолепны. Они разрешают мои данные, когда я перемещаюсь глубже во вложенный маршрутизатор. Однако я также хотел бы разрешить маршруты, то есть, когда я вернусь обратно в дерево маршрутизаторов, я хотел бы выполнить код.
Архитектурное описание
По сути, у меня есть сложное меню заголовка, которое находится в подмодуле, имеет API-интерфейс общедоступной службы, который имеет публичные функции, которым я могу передать состояние. Ака. У меня много компаний, у которых много контрактов. Если я перемещу маршрутизатор вниз к компании, он отправит компанию в заголовок, который вычислит его новое состояние и отобразит его. Если я перейду дальше вниз, он дополнительно отправит контракт и рассчитает новое состояние. Теперь, если я вернусь к маршрутизатору обратно на уровень компании, я бы хотел удалить контракт путем «отмены разрешения».
Служба заголовка может получать входные данные от нескольких модулей в приложении, которые загружаются лениво, поэтому я не могу включить их в заголовок при загрузке приложения. Единственным другим вариантом является создание общедоступного API-интерфейса заголовка, который каждый может добавить в зависимости, а затем передать состояние.
Сценарий реальной жизни (где C - ребенок B, а B - ребенок A).
Resolvers:
[А, В, С]
Маршрутизация:
A -> B -> C -> B -> A
Порядок стрельбы:
А (решительность), В (решительность), С (решительность)
Сценарий, который я хочу (где C - ребенок B, а B - ребенок A).
Resolvers:
* +1032 * [А, В, С] * 1 033 *
Маршрутизация:
A -> B -> C -> B -> A
Порядок стрельбы:
A (решительность), B (решительность), C (решительность), A (де-решительность), B (де-решительность), А (де-решительность)
Короче говоря: Я хотел бы разрешить маршрут в Angular, это возможно?
Или какие-нибудь другие хорошие идеи о том, как выполнить требуемую функциональность при перемещении вверх по дереву маршрутизации?