What are components in Angular?

Components in Angular are the most basic UI building block of an Angular app which formed a tree of Angular components. These components are subset of directives. Unlike directives, angular components always have a template and only one component can be instantiated per an element in a template. A component must belong to an NgModule in order for it to be available to another component or application.