
В текущей версии Router API (v14.0.0-) UrlTree может быть создан только из ActivatedRoute, который должен быть активен и материально отображаться в UrlTree (это означает, что это не может быть пустой путь с именемoutlet).
Из-за реализации текущего процесса создания UrlTree UrlSegment из ActivatedRoute просматривается в текущем активном UrlTree маршрутизатора. Если это не сработает, создание UrlTree завершится ошибкой.
В качестве примера предположим, что у нас есть сторож, который на основе некоторого условия перенаправляется на одноуровневый маршрут:
Поскольку родственный маршрут еще не активирован, это не сработает. Чтобы решить эту проблему, маршрутизатор предоставляет новую функцию, которая позволяет создавать UrlTree из любого ActivatedRouteSnapshot:
Функция CreateUrlTreeFromSnapshot принимает ActivatedRouteSnapshot, commands и необязательные queryParams и fragments и возвращает UrlTree.
Подпишитесь на меня в Medium или Twitter, чтобы узнать больше об Angular и JS!