This covers a wide variety of Angular features; we start with the basics, and quickly increase in depth. You will learn while building an Angular application.
- Versions of Anguar
- Language Choices
- Selecting an Editor
- Setting up Our Environment
- What We'll Be Building
- A Conceptual Overview of Angular
- Installing
- Compiling TypeScript
- Introduction to let, const
- Arrow Functions
- Array methods
- Static Typing
- Classes
- Interfaces
- Generics
- Modules
- Angular CLI
- Setting up an Angular Application
- Running an Angular Application
- Introduction to ES Modules
- Introduction to Angular Modules
- What Is a Component?
- Creating the Component Class
- Defining the Metadata with a Decorator
- Importing What We Need
- Bootstrapping Our App Component
- Building a Template
- Binding with Interpolation
- Introduction to Directives
- Property Binding
- Handling Events with Event Binding
- Handling Input with Two-way Binding
- Transforming Data with Pipes
- Strong typing & interfaces
- Encapsulating styles
- Lifecycle hooks
- Smart and dumb components overview
- Building a Nested Component
- Using a Nested Component
- Passing Data to a Nested Component Using @Input
- Passing Data from a Component Using @Output
- Parent to Child Communication with ViewChild
- Introduction
- How Does It Work?
- Building a Service
- Registering the Service
- Injecting the Service
- RxJs: Observables, Operators, Observer
- Async Pipe
- Using Http in Angular
- Sending an HTTP Request
- Exception Handling
- Subscribing to an Observable
- Introducing Routing
- Adding the Routing Module to an App
- Adding Routing to Templates
- Sending and Receiving Route Parameters
- Subscribing to Route Parameters
- Route Guards
- Applying Route Guards
- Child Routes
- Template-driven forms
- Template form validators
- Reactive forms
- Creating forms with form builder
- Validating with FormBuilder
- Custom validators
- Types of Feature Modules
- Eager Loading
- Lazy Loading
- Defining Preload Strategies
- Feature Module Types
- Identifying Feature Modules
- Share/Core Modules
- Introduction
- Isolated Tests
- Shallow Testing
- Integration Testing
- Using Angular within Jasmine unit tests
- Introduction to Change Detection
- Angular OnPush Change Detection
- Introduction to State management
- Introduction to Ngrx/ Akita