So far, we have explained the basics of routing in Angular. We took a look at how we can define different routes and implement the components associated with them that are displayed on route change. In order to link to the different routes, we introduced routerLink, and we also used the router-outlet directives for pointing out where the components associated with the individual routes should be rendered.
Another thing we took a look at was the functionality of the Angular forms with built-in and custom validation. After this, we explained the NgModel directive, which provides us with two-way data binding.
In the next chapter, we will cover how we can develop model-driven forms and child and parameterized routes, use the Http module, and transform data with custom pipes.