We have now uncovered the power of the Angular router, and we hope you have enjoyed this journey into the intricacies of this library. One of the things that shines in the Angular router is the vast number of options and scenarios we can cover with such a simple but powerful implementation.
We have learned the basics of setting up routing and handling different types of parameters. We have also learned about more advanced features, such as child routing. Furthermore, we have learned how to protect our routes from unauthorized access. Finally, we have shown the full power of asynchronous routing and how you can improve response time with lazy loading and prefetching.
In the next chapter, we will beef up our application components to showcase the mechanisms underlying web forms in Angular and the best strategies to grab user input with form controls.