Introduction to Angular Versions
Components
Role of AppModule and Component Declaration
Creating Components with the CLI & Nesting Components
Working with Component Styles
String Interpolation in Angular 7
Property Binding vs String Interpolation
Bindable Properties and Events
Two-Way-Data Binding
Combining all Forms of Data Binding
Using ngIf to Output Data Conditionally
Styling Elements Dynamically with ngStyle
Outputting Lists with ngFor
Binding to Custom Properties
Binding to Custom Events
Custom Property and Event Binding Summary
Using Local References in Templates
Projecting Content into Components with ng-content
Seeing Lifecycle Hooks in Action
Getting Access to ng-content with @ContentChild
Why would you Need Services?
Injecting the Logging Service into Components
Understanding the Hierarchical Injector
Injecting Services into Services
Setting up and Loading Routes
Understanding Navigation Paths
Navigating Programmatically
Passing Parameters to Routes
Fetching Route Parameters Reactively
Passing Query Parameters and Fragments
Practicing and some Common Gotchas
Using Query Parameters - Practice
Redirecting and Wildcard Routes
Outsourcing the Route Configuration
Protecting Routes with canActivate
Using a Fake Auth Service
Passing Static Data to a Route
Understanding Location Strategies
Analyzing a Built-in Angular Observable
Building & Using a Custom Observable from Scratch
Using Subjects to Pass AND Listen to Data
Why do we Need Angular's Help?
TD: Creating the Form and Registering the Controls
TD: Understanding Form State
TD: Adding Validation to check User Input
TD: Using the Form State
TD: Set Default Values with ngModel Property Binding
TD: Grouping Form Controls
TD: Setting and Patching Form Values
TD: Resetting Forms
Reactive: Setup
Reactive: Syncing HTML and Form
Reactive: Adding Validation
Reactive: Grouping Controls
Reactive: Creating Custom Validators
Reactive: Creating a Custom Async Validator
Reactive: Setting and Patching Values
Introduction & Why Pipes are Useful
Parametrizing Pipes
Creating a Custom Pipe
Example: Creating a Filter Pipe
Understanding the "async" Pipe
Introduction & How Http Requests Work in SPAs
Sending Requests
Sending GET Requests
Transform Responses Easily with Observable Operators
Catching Http Errors
Deployment Preparations and Important Steps