Component directives or components are directives with an encapsulated view. In Angular, when we build UI widgets, we are building components. We have already built a lot of them, such as WorkoutRunnerComponent, WorkoutAudioComponent, VideoPlayerComponent, and many more!
An important point to realize here is that the view is bound to the component implementation and it can only work with properties and events defined on the backing component.