Angular routerLink conditionally
<a [routerLink]="myVar ? '/home' : null" routerLinkActive="is-active">Home</a>
or
<a [routerLink]="myVar ? ['/home'] : []">Home</a> <a [routerLink]="myVar ? '/home' : null" routerLinkActive="is-active">Home</a>
or
<a [routerLink]="myVar ? ['/home'] : []">Home</a> Записать enum в свойство компонента и использовать это свойство.
forkJoin - параллельные запросы, mergeMap - последовательные запросы
Пример нестандартной ленивой загрузки модуля
Подписка на router.events, на событие NavigationStart spinner показывается, на события NavigationEnd, NavigationCancel, NavigationError скрывается.
Сервис для динамического добавления Angular компонентов в body