Components can interact and communicate in many ways. Each technique is suitable for a certain situation. The main difference is related to the scope of communication: template context or component class context.
This flexibility enables us to create complex component compositions that easily share data and interactions, which consists of APIs.
In the next chapter, we will build useful components and also learn about Angular 2 change detection and the component life cycle.