- Introduction
- Using NodeJS
- Using Visual Studio Code Editor
- Bootstrap Integration
- What is Angular 2
- Problems with the CLI
- Creating an Angular 2 Project
- Editing our First App
- Understanding the Project Structure
- Why TypeScript? What is TypeScript?
- Getting Started with Components
- How an Angular 2 App gets started
- Understanding AppModules
- Using Templates & Styles
- Creating a new Component
- About Unique Selectors
- Using multiple Components
- View Encapsulation & Styling
- Inserting Content with ng-content
- Databinding Overview
- String Interpolation
- Property Binding & Event Binding Overview
- Property Binding
- Binding to Custom Properties
- Event Binding
- Binding to Custom Events
- ngModel and AppModules
- Two-Way Binding
- The Component Lifecycle
- Template Access with Local References, ViewChild and ContentChild
- What are Directives?
- Attribute Directives
- Building a Custom Attribute Directive
- Element Interaction with HostListener & HostBinding
- HostListener: Passing Data
- Directive Property Binding
- *ngIf
- *ngFor
- ngSwitch
- Building a Custom Structural Directive
- Using NgModules
- What are Services
- Example: Logging Service
- What is Dependency Injection?
- Example: Injecting the Logging Service
- Multiple Instances vs One Instance
- Services & AppModules
- Injecting Services into Services
- Using Services for Cross-Component Interaction
- Setting up Routes Loading Components
- Navigation with Links
- Understanding Navigation Paths
- Imperative Routing
- Route Parameters
- Extracting Route Parameters
- Query Parameters
- Extracting Query Params
- Query Parameters and the routerLink Directive
- Setting up the Main Routes
- Adding Links to Navigate
- Using Child Routes in the Recipe Section
- Navigating between Child Routes
- Introduction to Forms in Angular
- Template-Driven Approach Basics
- Registering Controls
- Form Properties
- Input Validation
- Two-Way Binding with ngModel