Index

  • 1-Overview
  • 2-Architecture-Modules
  • 3-Architecture-Components
  • 4-Architecture-Services
  • 5-Architecture-Summary
  • 6-Using Angular CLI
  • 7-Default Angular Application
  • 8-Shared Modules
  • 9-Data Binding
  • 10-Property Binding with DOM Objects
  • 11-Dynamically Add Class Names and Styles
  • 12-Event Binding
  • 13-Access Native DOM Objects
  • 14-Two-Way Data Binding
  • 15-Content Projection
  • 16-Error Handling in Data Binding
  • 17-Three Ways to Include Global Styles
  • 18-Introduction to Directives and Structural Directives (ngIf)
  • 19-Attribute Directive (hidden)
  • 20-Structural Directive (ngFor)
  • 21-Custom Directives
  • 22-Pipes
  • 23-Custom Pipes
  • 24-Component Communication (Input to Child Components)
  • 25-Component Communication (Output from Child Components)
  • 26-Lifecycle Hooks: OnInit Phase
  • 27-Lifecycle Hooks: OnUpdate Phase
  • 28-Lifecycle Hooks: OnDestroy Phase
  • 29-Understanding Dependency Injection
  • 30-Creating an Injector
  • 31-Using Providers
  • 32-Creating and Injecting Services
  • 33-Service Scopes
  • 34-Template-Driven Forms
  • 35-Form Sections in Template-Driven Forms
  • 36-Validation in Template-Driven Forms
  • 37-Basic Usage of Reactive Forms
  • 38-Implementing Reactive Form Validation
  • 39-Using FormArray
  • 40-Built-in Validation in Reactive Forms
  • 41-Synchronous Validation in Reactive Forms
  • 42-Asynchronous Validation in Reactive Forms
  • 43-Creating Forms with FormBuilder
  • 44-Checkbox Examples in Reactive Forms
  • 45-Radio Button Examples in Reactive Forms
  • 46-Common Methods in Reactive Forms
  • 47-Basic Usage of Routing
  • 48-Passing Parameters in Routing
  • 49-Nested Routing
  • 50-Named Router Outlets
  • 51-Router Navigation
  • 52-Standalone Routing Modules
  • 53-Lazy Loading Modules
  • 54-Route Guards (CanActivate)
  • 55-Route Guards (CanActivateChild)
  • 56-Route Guards (CanDeactivate)
  • 57-Route Guards (Resolve)
  • 58-Introduction to RxJS
  • 59-Features of Observables
  • 60-Creating Subjects
  • 61-Using BehaviorSubject
  • 62-Using ReplaySubject
  • 63-Data Streams and Operators in RxJS
  • 64-Using from Helper Methods
  • 65-Using forEach Helper Methods
  • 66-Using fromEvent Helper Methods
  • 67-Using interval Helper Methods
  • 68-Using take Operators
  • 69-Using Throttle and Debounce Operators
  • 70-Using of Helper Methods
  • 71-RxJS Example Cases
  • 72-Search Example with RxJS
  • 73-Chained Requests Example with RxJS
  • 74-HttpClient Usage
  • 75-HttpParams Usage
  • 76-Using HttpHeaders
  • 77-Setting Response Body in RxJS
  • 78-Using Interceptors (Part 1)
  • 79-Using Interceptors (Part 2)
  • 80-Configuring Angular Proxy
  • 81-Introduction to NgRx
  • 82-Basic Usage of NgRx
  • 83-Selectors in NgRx
  • 84-Actions in NgRx
  • 85-MetaReducers in NgRx
  • 86-Using Effects in NgRx
  • 87-Case Study in NgRx
  • 88-Another Case Study in NgRx
  • 89-Final Case Study in NgRx
  • 90-Using NgRx in a To-Do App
  • 91-Synchronizing Router State with Store

  • 92-State-Related Concepts in Animations
  • 93-Adding Animations to To-Do App
  • 94-Creating Basic Animations
  • 95-Defining Keyframe Animations
  • 96-Using Animation Callbacks
  • 97-Creating Reusable Animations
  • 98-Using query Method in Animations
  • 99-Using group Method in Animations
  • 100-Using stagger in Animations
  • 101-Creating Custom States in Animations
  • 102-Implementing Route Animations