Что возвращает router.url в Angular?
Представим ситуацию, в которой вам нужно проверить на какой странице вы находитесь, как бы вы это делали? Один из способов - это проверить текущий url страницы.
В Angular (я проверяю на 15 версии) это можно сделать с помощью router.url. Конечно, это не единственный способ, но сегодня мы будем рассматривать именно его. Давайте подумаем, что нам вернет такой вызов?
Предположим, у вас сложное приложение с множеством разделов и вдобавок ко всему это часть огромной экосистемы.
Интересная особенность заключается в том, что router.url вернет строку, содержащую текущий url (по аналогии с location.pathname) отталкиваясь от настроек baseHref вашего приложения.
Если у вас нет настройки baseHref, то вызов router.url вернет полный url после домена, например приложение открыто по адресу site.ru/book/part1, значит router.url вернет /book/part1. На главной странице получим /.
Но если у вас в angular.json стоит настройка baseHref: "/book", то при том же адресе получим следующие результаты: /part1 и / соответственно.
Учитывайте эту особенность при разработке. Всем интересных проектов!