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> Начиная с версии rxjs 5.5 операторы вместо цепочки вызовов применяются как параметры функции pipe.
В async pipe за вас отпишется Angular. Во всех остальных случаях лучше отписываться самостоятельно. Допускается не отписываться в потоках, где будет гарантировано вызван complete.
httpRequest.pipe(
repeat(),
takeUntil(stop$)
).subscribe(x => console.log(x)); Пример нестандартной ленивой загрузки модуля
Добавление сторонних скриптов в Angular по запросу. Как известно, добавить скрипт через шаблон невозможно. Представлено решение как это сделать программно.
Resolver гарантированно получает асинхронные данные до создания компонента исходя из параметров маршрута.