https://fireflysemantics.medium.com/rendering-an-angular-component-conditionally-using-a-directive-49ff64a4194b