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.
Пример задания значения булева Input свойства как директивы, на примере:
Краткая инструкция по профилировке Change Detection в Angular
KeyValueDiffers позволяет отслеживать мутации свойств объектов