An Angular component is similar to an AngularJS Controller. A component is basically markup, meta-data, and a class (containing data and code) that combined together create a UI widget. Components are the main tools we use to build an interactive UI with. All Angular applications have a root component, often called the application component .
Angular provides ways for components to pass data to each other and to respond to each other’s events. We’ll get into component inputs and outputs in Chapter 12.