Angular Router In Depth (Angular 15)
What you'll learn
- Code in Github repository with downloadable ZIP files per section
- In-depth guided tour to the Angular Router
- Angular Router Best Practices
- Leverage Lazy-loading to the maximum
- Master-Detail with Detail to Detail Navigation
- Preloading In Depth
- Router Guards In Depth
- Advanced Router Concepts
- Some Angular is essential, but not at an advanced level
This Course in a Nutshell
In this course, we are going to learn in detail the advantages of building a frontend UI as a single-page application, as opposed to a traditional multi-page application.
Single-page applications (or SPAs) have been around for years now, and are today more popular than ever as a simplified way to build enterprise frontends or internet product dashboards.
SPAs typically give the end-user a much better user experience, due to their better-perceived performance and responsiveness. In this course, we will learn how to use the Angular Router to turn our Angular application into a SPA.
We are going take as a starting point a small Angular application that does not have any routing yet. We are then going to learn how to configure the Angular Router from scratch. We will assume no prior Angular Router knowledge, as we explain everything from first principles.
We will start by introducing the essential router concepts such as route configuration, paths, router outlets, and router navigation links. From these essential concepts, will build a much more advanced routing scenario.
We will learn how to build a master-detail with detail-to-detail navigation scenario, and we will use this example to introduce all the advanced routing concepts and powerful features that the Angular Router offers us.
This will include lazy loading modules, data pre-fetching with Resolvers, protecting route access with Guards, custom pre-loading strategies, secondary outlets (auxiliary routes), and much more.
Table of Contents
This course covers the following topics:
What is a single page application?
Best practices for router configuration: home route, page not found route, etc.
Essential Router configurations concepts: paths, components, and outlets
Essential Router navigation concepts; the routerLink and routerLinkActive directives
Relative vs Absolute routing best practices
Understanding Path matching and router configuration order
Router Path and Query parameters
Deep linking with the Angular router: master-detail with detail-to-detail navigation scenario
Understanding router snapshots vs router observables
Lazy loaded routes
Route data pre-loading with Resolvers
Router module pre-loading strategies, building a custom preloading strategy
Router Guards - CanActivate and CanActivateChild Authentication Guards
Preventing route exits with CanDeactivate guards
Checking if a lazy-loaded module can be loaded with CanLoad
Router Loading Indicator
Understanding Router Hash location strategy
Secondary router outlets and auxiliary routes
The router module extra configuration options: enableTracing, scrollPositionRestoration, paramsInheritanceStrategy, etc.
What Will You Learn In this Course?
At the end of this course, you will feel comfortable setting up the Angular Router from scratch in an existing Angular application.
You will know not only the essentials of the router together with all its most advanced features, but most importantly you will know exactly when to use each feature and why, and you will know numerous best practices that will help you to make the most out of the Angular Router.
Who this course is for:
- Angular developers, looking to learn more about the Angular Router
Hello, I'm Vasco Cavalheiro and I'm an online instructor at the Angular University.
Over the years I have helped over 100k developers to learn the Angular framework and its surrounding ecosystem of technologies.
Check out my Linkedin in the links section on the top right.
About the Angular University:
The Angular University aims to be the one place that you go in order to learn and keep up with the whole Angular ecosystem. We provide premium quality video tutorials, screencast style.
No matter if you are a beginner, intermediate or advanced in Angular, we have several courses for you.
More about me:
I'm a Software Developer with many years of experience, very seasoned building user interfaces with Angular. I've worked as a Frontend Developer/Architect in a large variety of enterprise projects throughout the years.
I worked on a ton of projects, everything from single page applications to help build the European Criminal Record Information Exchange System, to brand new e-banking portals, to corporate banking portals, and more. I've been a key part of internal framework teams that built frameworks for in-house departments of tens of developers.
I also love to teach, write and talk about technology. I am looking forward to be your Angular instructor,