Introduction to Angular
- Overview of Angular Framework
- Why Angular?
- Key Features of Angular
- Setting Up Angular Environment
- Angular CLI Overview
Getting Started with Angular
- Creating an Angular Project
- Running the First Angular App
- Project Structure
- Configuring Development Server
Components
- What is a Component?
- Component Anatomy: Templates, Styles, and Logic
- Creating Components in Angular
- Component Selector and Template Binding
- Component Styling
Directives
- What are Directives?
- Types of Directives: Structural and Attribute Directives
- Common Directives: *ngIf, *ngFor
- Creating Custom Directives
Pipes
- What are Pipes?
- Built-in Pipes: DatePipe, CurrencyPipe, etc.
- Custom Pipes
- Using Pipes in Templates
Component Communication
- Parent to Child Communication (Input Binding)
- Child to Parent Communication (Output Binding)
- Using Services for Communication
Component Life Cycle Hook
- Understanding Component Life Cycle
- Common Life Cycle Hooks: ngOnInit, ngOnChanges, ngOnDestroy
- Using Life Cycle Hooks Effectively
Services & Dependency Injection
- What are Services?
- Dependency Injection in Angular
- Creating and Injecting Services
- Using Services for Data Sharing
Angular Forms Validation
- Built-in Validators
- Custom Validators
- Validation in Template-Driven Forms
- Validation in Reactive Forms
HTTP
- Making HTTP Requests with HttpClient
- GET, POST, PUT, DELETE Requests
- Handling HTTP Responses
- Observables in HTTP
Angular Router
- Introduction to Routing
- Configuring Routes
- Route Parameters
- Lazy Loading Modules
Angular Route Guards
- Introduction to Route Guards
- CanActivate, CanActivateChild, CanDeactivate
- Using Route Guards for Authentication
Angular Module
- What is an Angular Module?
- Creating and Importing Modules
- Feature Modules and Core Module
- Lazy Loading Modules
Advanced Components
- Dynamic Component Loading
- Component Inheritance
- Content Projection
- Template Reference Variables
Observable in Angular
- Introduction to Observables
- Using Observables for Asynchronous Operations
- RxJS Operators
- Handling Multiple Observables