Introduction to Angular 4

Code: ANG-JS-171

3 days

List Tuition : $1,595.00 USD

Course Overview

    Download PDF 

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.

Most courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

View our Angular page for details on All Angular Trainings

This course is designed for experienced web developers.

All students will learn to:

  • Introduction
  • npm QuickStart
  • TypeScript and ES6/ES2015 Introduction
  • Components
  • Data Binding
  • Directives
  • Service and Dependency Injection
  • Advanced Components
  • Forms
  • Form Validation
  • Data Architectures
  • HTTP
  • Routing
  • Pipes
  • Project Setup

I. Introduction

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/ES2015 Introduction

A. Understanding TypeScript and ES6/ES2015

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. ES2015

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

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 (deprecated pipes)

XV. Project Setup

A. npm Dependencies

B. TypeScript configuration

C. SystemJS/Webpack configuration

D. index.html scripts

E. Using the Angular CLI

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.