Comprehensive Angular 4

Code: ANG-JS-173

5 days

List Tuition : $3,200.00 USD

Course Overview

    Download PDF 

View our Angular page for details on All Angular Trainings

Angular is a powerful client-side JavaScript framework from Google that supports simple, maintainable, responsive, and modular applications. It uses modern web platform capabilities including ES6 to deliver app-like experiences with zero-step installation. Applications are architected by combining modular, reusable UI web components. Angular facilitates productivity with automatic data binding via a simple and powerful template syntax as well as rich tooling support in numerous IDEs (including autocomplete, navigation and refactoring). The ability to extend HTML to include custom tags with behavior for application building is a powerful idea and among the many reasons that Angular is so widely used. Angular has become a platform that allows for one code base across web apps, native mobile apps and desktop apps.

Angular training teaches developers how to use the newest version of Angular to facilitate development of app-like experiences with zero-step installation. The course consists of a three day introduction course and a two day advanced course that can be combined together to deliver a comprehensive five day course.Lab exercises provide essential and practical hands-on experience for each topic.

This course is designed for experienced web developers.

In this training, attendees will learn how to:

  • Introduction
  • npm QuickStart
  • TypeScript and ES6/ES015 Introduction
  • Components
  • Data Binding
  • Directives
  • Service and Dependency Injection
  • Advanced Components
  • Forms
  • Form Validation
  • Data Architectures
  • HTTP
  • Routing
  • Pipes
  • Project Setup
  • Advanced Directives and Components
  • Unit Testing
  • Custom Pipes
  • Model-Driven Forms
  • Angular Migration Strategies
  • Preparation
  • Angular CLI
  • End-to-End Testing with Protractor            


A. Why Angular ?

B. Scope and Goal of Angular

C. Who Uses Angular?

D. Architecture (Big Picture/Concepts)

1. Model-View Patterns Reviewed

2. Single-page Application vs Traditional Web Application Architectures

E. Browser Support

F. Overview of Setup/Installation

G. Our first Angular Application

II. npm QuickStart

A. Installing Dependencies

1. global installs

2. local installs

3. package.json

4. sharing dependencies

5. updating/uninstalling dependencies

B. Using npm as a Build Tool

1. What about Grunt and Gulp?

2. Your First Script

3. Shortcut Scripts

4. Running Local Node Modules

5. Combining Scripts

III. TypeScript and ES6/ES015 Introduction

A. Understanding TypeScript and ES6/ES015

B. How TypeScript Works

C. Why TypeScript?

D. Who’s Behind TypeScript?

E. Installing TypeScript

F. Configuring TypeScript

G. Compiling with TypeScript

H. JavaScript is valid TypeScript

I. ES015

1. Classes

2. Arrow Functions

3. Template Literals

4. Modules

J. TypeScript

1. Type annotations

2. Interfaces

3. Decorators

4. Automatic Property Assignment

IV. Components

A. What is a component?

B. Developing a simple component

C. Angular Modules

D. Bootstrapping

E. Nesting components

F. Templates

1. Multi-line

2. External

3. Component-relative paths

G. Models

1. Models are just classes

2. Importing

V. Data Binding

A. What is Data Binding?

1. one way (model to view)

2. two way (view to model)

B. Data Binding in Angular

1. Syntax

2. Component to DOM (one way)

3. DOM to Component (two way)

C. Types

1. Interpolation

2. Property Binding

3. Event Binding

4. Two Way Data Binding

a) Longhand

b) Shorthand

c) [(ngModel)] Banana in a Box

5. Html Attribute vs. DOM Properties

6. Setting Html Attributes

VI. Directives

A. What is a Directive?

B. Kinds of Directives

1. Component

2. Structural

3. Attribute

C. Structural Directives

1. Understand how ngIf works

a) Using the <template> tag

b) Removing vs Hiding Directives

2. Using ngFor

3. ngSwitch

D. Attribute Directives

1. ngClass

2. ngStyle

VII. Service and Dependency Injection

A. What is a Service?

B. Service Example

C. Dependency Injection Explained

D. Dependency Injection Example

E. Dependency Injection in Angular

F. Registering a Service

G. Injecting a Service

H. Application Wide Dependency Injection

I. @Injectable Classes

J. Multiple Service Instances

K. @Optional and @Host Decorators

L. Providers

1. Syntax

2. Alternative/Aliased

3. Class, Value, and Factory

VIII. Advanced Components

A. Lifecycle Hooks

B. Composing Your User Interface

C. Component Communication

1. @Input

2. @Output and EventEmitters

D. Component Styles

1. Metadata: styles and styleUrls

2. View Encapsulation

3. Style Scoping with Special Selectors

IX. Forms

A. Benefits of Angular Forms

B. New Forms API

C. Form Strategies

1. Template-driven

2. Model-driven

3. Pros and Cons

D. Form Directives: Template-driven

1. ngForm

2. ngModel

3. ngModelGroup

4. ngSubmit

E. Getting Data from Form Controls

1. Local Template Reference Variables

F. Binding to HTML Form Elements

1. Select

2. Checkbox

X. Form Validation

A. Validation Directives

B. Tracking Change State of Form Controls

C. CSS Classes

D. Validation Messages

E. Validation Styles

XI. Data Architectures

A. Model-View-Controller (MVC): Traditional Web Applications

B. Model-View-Whatever (MVW/MV*): Angular 1

C. New Architectures

1. Observables and Reactive Programming

2. Flux

D. Flexible Data Architecture in Angular


A. Setup

1. Providing the HTTP Services

2. Enable RxJS Operators

B. Http in Services using Promises

1. Fetching Data

2. Handling the Response

3. Handling Errors

C. Http in Components using Promises

1. Fetching Data

2. Handling the Response

3. Handling Errors

D. Observables and Reactive Programming

1. The Reactive Extensions for JavaScript (RxJS)

2. Big Ideas About Streams

E. Http in Services using Observables

F. Http in Components using Observables

G. Async Pipe

H. In-Memory Web API

I. Http Put

J. Http Delete

K. Cross-origin HTTP Requests

XIII. Routing

A. Component Router

B. Router Terminology

C. Router Setup

D. Location Strategies

1. PathLocationStategy

2. HashLocationStrategy

E. Router Directives

1. routerLink

2. routerLinkActive

3. routerOutlet

F. Navigating

1. Creating a Link

2. Navigating with Code (Router)

3. Route parameters

4. Query parameters

5. Retrieving Parameters

a) ActivatedRoute

b) Synchronous

c) Asynchronous

G. Web Server Configuration

XIV. Pipes

A. What are Pipes?

B. Using Pipes

1. In Templates

2. In Code

C. Built-in Pipes

1. Date, Number, Decimal, Currency, UpperCase and LowerCase

D. Pipe Syntax

1. Passing parameters to a pipe

E. Chaining pipes

F. Changes from Angular 1 (deprecated pipes)

XV. Project Setup

A. npm Dependencies

B. TypeScript configuration

C.SystemJS/Webpack configuration

D.index.html scripts

E. Using the Angular CLI

XVI. Advanced Directives and Components

A. Access and update the DOM using ElementRef and Renderer

B. Respond to User Events using HostListener

C. Set properties on the host element using HostBinding

D. Content Projection/Transclusion

1. @ViewChild(ren), @ContentChild(ren)

2. ng-content

XVII. Unit Testing

A. Tools: Jasmine & Karma

B. Mocks, Stubs, Fakes, and Spies

C. Angular Testing

D. TestBed, ComponentFixture, and Debug Element

E. async, fakeAsync, tick, and inject

F. Your First JavaScript Test

G. Testing a Simple Component

H. Detecting Changes

I. Using External Templates

J. Components with Inputs and Outputs

K. Component with Router

L. Component with Service

M. Testing a Service in Isolation

N. Mocking HTTP Calls

O. Testing Pipes

XVIII. Custom Pipes

A. Custom Pipe Example

B. Using a Custom Pipe

1. In Templates

2. In Code

C. Pure and Impure Pipes

XIX. Model-driven Forms

A. Setup/Bootstrap

B. Model

C. Form Component

D. Metadata

E. Template

XX. AngularJS to Angular Migration Strategies

A. Overview

B. Adding TypeScript to an Angular Project

C. Add Angular (Angular 2+) and Module Loader

D. Using TypeScript in an AngularJS Project

E. AngularJS and Angular in the same Project

F. Upgrading Services

G. Controllers to Components

H. Filters to Pipes

I. Upgrade Router

J. Removing AngularJS from the Project

XXI. Angular CLI

A. Installation

B. Usage

C. Generating a New Project

D. Generating Components, Directives, Pipes and Services

E. Generating a Route

F. Creating a Build

G. Build Targets and Environment Files

H. Bundling

XXII. End-to-end Testing with Protractor

A. Setup

B. Demo

Before taking this course, students should have prior experience developing with JavaScript.

Request a Discounted Quote

Bring Training to You

Request schedule for this course

Request a Quote for this Class

We provide government and government contractor discounts, please request a quote


total option: 0

Hotel and Travel can be included on your quote.
For immediate response, you can call 1-855-515-2170 or we will provide a quote within 4 business hours. Travel must be booked 14 days before training for rate to apply.

Learn How to Become a Managed Learning Member

Request a Quote

Thank you for requesting a quote, we will be in touch shortly with a quote. If you need immediate assistance, please call 855-515-2170.

Request Other Date

Request date or location you need

Don’t see the date or location you need? Contact us and let us know, we are adding dates and locations daily.