Angular Web Components: Custom Elements, Templates & Shadow DOM
- Description
- Curriculum
- FAQ
- Reviews
- Grade
Mastering Angular Web Components is a comprehensive course designed to teach you how to build reusable, encapsulated, and framework-agnostic UI components using Angular’s Web Component capabilities. This course bridges the gap between Angular development and modern browser-native Web Components, empowering you to create flexible elements that can work across different frameworks or even vanilla JavaScript environments.
You’ll start by understanding what Web Components are, their benefits, and how Angular supports them through the @angular/elements package. From there, you’ll dive into creating Custom Elements with Angular, exploring how to manage inputs, outputs, and lifecycle hooks.
Next, the course covers Template and View Encapsulation, using Shadow DOM to isolate styles and behaviors, ensuring your components remain predictable and conflict-free. You’ll learn how to distribute content with slots, manage styling across different scopes, and optimize your components for performance and portability.
By the end of this course, you’ll be able to confidently package, publish, and use Angular-based Web Components in any environment—including React, Vue, or static HTML pages—making your UI library truly reusable and scalable.
-
1What Are Web Components?2h
History and specs: Custom Elements, Shadow DOM, HTML Templates, ES Modules.
-
2Why Use Web Components with Angular?2h
Reusability, encapsulation, interoperability with other frameworks.
-
3Setting Up Angular for Web Components2h
Installing Angular Elements, polyfills, and configuring CLI.
-
4HTML Templates & Template Tag2h
Native template use, cloning, and rendering via JavaScript
-
5Working with Shadow DOM1h 45m
Encapsulation, style isolation, how it affects Angular component styling.
-
6Styling Web Components2h
Using ::part, ::slotted, and :host, and defining global-safe CSS.
-
7Integrating Templates with Angular Components2h
Passing projected content with ng-content, slots, and templates.
-
8Converting an Angular Component into a Custom Element2h
Using createCustomElement and NgElement.
-
9Bootstrapping Standalone Angular Elements2h
Angular ElementModule, using Injector for DI
-
10Packaging Angular Elements for Distribution2h
Build with Angular CLI, bundle with Webpack or Rollup
-
11Using Angular Custom Elements in Plain HTML/React/Vue2h
CDN usage, registering custom tags, polyfill requirements
-
12Binding Inputs to Web Components2h
Using properties, attributeChangedCallback, and @Input().
-
13Emitting Events from Web Components2h
Native DOM events, using @Output() and EventEmitter
-
14Forms and Two-Way Binding2h
Connecting Web Components to standard <form> elements
-
15Dynamic Loading of Angular Elements2h
Lazy loading Angular components as custom elements.
-
16Web Component Lifecycle Hooks2h
connectedCallback, disconnectedCallback, attribute watchers.
-
17Secure and Accessible Web Components2h
ARIA roles, focus management, and secure content handling.
-
18Performance Tuning2h
Bundle size, lazy load Angular, tree shaking, shadow DOM rendering tips.
-
19Cross-Framework Integration Patterns2h
Using Angular Elements in Vue, React, and legacy apps.
-
20Component Library with Angular Web ComponentsAssignment
What You’ll Learn:
-
Fundamentals of Web Components and browser-native APIs
-
Creating and packaging Custom Elements using Angular
-
Handling component inputs, outputs, and lifecycles
-
Using Shadow DOM for true style encapsulation
-
Building content projection with templates and slots
-
Deploying reusable components across projects or frameworks
-
Solid understanding of Angular (components, modules, lifecycle)
-
Familiarity with HTML/CSS/JavaScript
-
Basic understanding of the DOM
-
Angular developers (intermediate+)
-
Web developers transitioning to micro frontends or design systems
-
Engineers building reusable UI components across teams/projects
Archive
Working hours
| Monday | 9:30 am - 6.00 pm |
| Tuesday | 9:30 am - 6.00 pm |
| Wednesday | 9:30 am - 6.00 pm |
| Thursday | 9:30 am - 6.00 pm |
| Friday | 9:30 am - 5.00 pm |
| Saturday | Closed |
| Sunday | Closed |