1. Introduction to Angular
1.1. What is Angular?
1.2. Benefits of Using Angular
1.3. Angular vs. Other Frameworks
1.4. Setting Up the Development Environment
1.4.1. Installing Node.js and npm
1.4.2. Installing Angular CLI
1.4.3. IDE recommendations (Visual Studio Code, WebStorm, etc.)
2. Angular Architecture
2.1. Modules
2.1.1. NgModule and its metadata
2.1.2. Root module (AppModule)
2.2. Components
2.2.1. Component decorator
2.2.2. Component class and template
2.2.3. Component styles
2.3. Templates
2.3.1. Inline templates vs. external templates
2.3.2. Template syntax
2.4. Services
2.4.1. Creating services
2.4.2. Singleton services
2.5. Dependency Injection
2.5.1. Understanding DI in Angular
2.5.2. Injectors and providers
3. First Angular Application
3.1. Installing Angular CLI
3.1.1. npm install -g @angular/cli
3.2. Creating a New Project
3.2.1. ng new my-first-app
3.3. Understanding the Project Structure
3.3.1. src, app, assets, environments folders
3.3.2. Angular.json configuration
3.4. Running the Application
3.4.1. ng serve command
3.4.2. Overview of localhost development server
4. Components and Templates
4.1. Creating and Using Components
4.1.1. Generating components using CLI
4.1.2. @Component decorator
4.2. Component Decorator
4.2.1. Selector, templateUrl, styleUrls properties
4.3. Templates and Views
4.3.1. HTML templates
4.3.2. Angular template syntax
4.4. Data Binding
4.4.1. Interpolation: {{ expression }}
4.4.2. Property Binding: [property]="expression"
4.4.3. Event Binding: (event)="handler"
4.4.4. Two-way Binding: [(ngModel)]="property"
4.5. Component Lifecycle Hooks
4.5.1. ngOnInit, ngOnChanges, ngOnDestroy, etc.
5. Directives
5.1. Built-in Directives
5.1.1. *ngIf, *ngFor, ngClass, ngStyle
5.2. Creating Custom Directives
5.2.1. @Directive decorator
5.2.2. Structural vs. Attribute directives
6. Pipes
6.1. Built-in Pipes
6.1.1. date, uppercase, lowercase, currency, etc.
6.2. Creating Custom Pipes
6.2.1. @Pipe decorator
6.2.2. Transform method
7. Services and Dependency Injection
7.1. Creating Services
7.1.1. Using Angular CLI to generate services
7.2. Injecting Services into Components
7.2.1. Constructor injection
7.3. Using Angular's Injector
7.3.1. Hierarchical injectors and providers New Mind Map