Course #:WA2775

Introduction to Angular 7 Programming Training

The Introduction to Angular 7 Programming Training course offered by WebAgeSolutions covers all the essential topics and is designed to get students up and running with Angular development in the shortest amount of time. Developers and Application Designers as well as those who are tasked with supporting Angular applications will gain valuable knowledge required for success in their job roles while taking this course.  Angular is a JavaScript framework that supports the development of single-page applications that run in browsers and can also be used to develop responsive web sites and hybrid mobile applications. 

This course will show you how to set up an end-to-end Angular development environment to develop, build and host your Angular applications. Details of the Typescript language, essential to Angular development, are also covered. From there the course introduces you to various building blocks of Angular applications including: Components, Directives, Services and Pipes. Form development is covered along with the essentials of form validation and custom validators. The Angular HttpClient, which allows you to make network calls from your application, is covered in detail along with how to use Observable objects which allow you to integrate reactive programming paradigms.
The course includes labs for each major topic that allow you to get hands-on experience programming and troubleshooting Angular code. 

OBJECTIVES

 

In this training, attendees will learn how to:

  • Set up a complete Angular development environment
  • Develop single page applications
  • Code with TypeScript
  • Work with Angular CLI to create applications and generate components
  • Create Components, Directives, Services, Pipes,  and Custom Validators
  • Develop component templates that include Angular directives and bindings.  
  • Retrieve and post data to network applications and RESTful services
  • Format data for display using Angular Pipes
  • Develop Template based and Reactive forms to collect data
  • Navigate between multiple view screens using the Angular component router

PREREQUISITES

Web development experience using HTML, CSS and JavaScript is required to get the most out of this Angular course.  Knowledge of the browser DOM is also useful. Prior Angular experience, with AngularJS or the current version of Angular, is not required.

DURATION

3 Days

Outline of Introduction to Angular 7 Programming Training

Chapter 1. Introducing Angular

  • What is Angular?
  • Central Features of the Angular Framework
  • Why Angular?
  • Building Blocks of an Angular Application
  • Basic Architecture of an Angular Application
  • Installing and Using Angular
  • A Basic Angular Application
  • Anatomy of a Basic Application
  • The Main Component File
  • The Application Module File
  • The index.html File
  • The Bootstrap File
  • Running the Application
  • Building the Application
  • Summary

Chapter 2. Development Setup of Angular

  • Angular Development Lifecycle
  • Angular is Modular
  • What is Node.js?
  • Installing Node.js and NPM
  • Node Package Manager (NPM)
  • Package Descriptor File - package.json
  • Semantic Version Numbering
  • Package Version Numbering Syntax
  • Updating Packages
  • Uninstalling Packages
  • Installing Angular Packages
  • Angular CLI
  • Creating a New Project
  • Angular
  • Development
  • Dependencies
  • TypeScript Typings
  • Testing Tools
  • Development Web Server
  • Configuring the Web Server
  • The Build System
  • Configuring the Build
  • Summary

Chapter 3. Introduction to TypeScript and ES6

  • Programming Languages for Use with Angular
  • TypeScript Syntax
  • Programming Editors
  • The Type System – Defining Variables
  • The Type System – Defining Arrays
  • Type in Functions
  • Type Inference
  • The Type System – Classes & Objects
  • Class Constructors
  • Class Constructors – Alternate Form
  • Interfaces
  • Working with ES6 Modules
  • Visibility Control
  • var
  • ,
  • let
  • and
  • const -
  • Defined
  • var
  • ,
  • let
  • and
  • const -
  • U
  • sage
  • Arrow Functions
  • Arrow Function Compact Syntax
  • Arrow Function and Caller Context
  • Template Strings
  • Template Strings – Variables and Expressions
  • Template Strings – Multiline
  • Generics - Class
  • Generics - Methods
  • Generics - Restricting Types
  • Generics - Restricting Types: Example
  • TypeScript Transpilation
  • Summary

Chapter 4. Components in Angular

  • What is a Component?
  • An Example Component
  • The Component Class
  • Adding a Component to Its Module
  • Creating a Component Using Angular CLI
  • Developing a Simple Login Component
  • Component Template
  • Login Component: Add HTML
  • The HTML Component Template
  • The templateUrl property
  • Login Component: Add CSS Styling
  • Login Component: Hook Up Input Fields and Button
  • Login Component: Fields & Button in the Component Class
  • Component Decorator Properties
  • Component Hierarchy
  • The Application Root Component
  • Using a Regular Component
  • The Build System
  • Component Lifecycle Hooks
  • Using a Lifecycle Hook:
  • OnInit
  • Summary

Chapter 5. Data and Event Binding

  • Binding Syntax
  • One-Way Output Binding
  • Binding Displayed Output Values
  • Setting Component Properties
  • More About Setting Properties
  • Setting DOM Element Properties
  • Event Binding
  • Binding Events Examples
  • Firing Event from a Component
  • @Output() Example - Child Component
  • @Output() Example - Parent Component
  • Two-Way Binding of Input Fields
  • Input Binding Examples
  • Two Way Binding in a Component
  • Use Two Way Binding
  • Breaking Down ngModel
  • Summary

Chapter 6. Attribute Directives

  • What are Attribute Directives
  • Apply Styles by Changing CSS Classes
  • Changing Classes – Example
  • Applying Styles Directly
  • Applying Styles Directly - Example
  • Controlling Element Visibility
  • Setting Image Source Dynamically
  • Setting Hyperlink Source Dynamically
  • Writing a Custom Attribute Directive
  • Using a Custom Attribute Directive
  • Supplying Input to a Directive
  • Handling Event from a Custom Directive
  • Summary

Chapter 7. Structural Directives

  • Structural Directives
  • Adding and Removing Elements Dynamically
  • If-Else Syntax of ngIf
  • Looping Using ngFor
  • ngFor - Basic Example
  • Creating Tables with ngFor
  • ngFor Local Variables
  • Manipulating the Collection
  • Example - Deleting an Item
  • Swapping Elements with ngSwitch
  • ngSwitch - Basic Syntax
  • Summary

Chapter 8. Template Driven Forms

  • Template Driven Forms
  • Importing Forms Module
  • A Basic Angular Form
  • Binding Input Fields
  • Accessing the NgForm Directive
  • Binding the Form Submit Event
  • The Submit Function
  • Basic HTML5 Validation - "required" Attribute
  • HTML5 vs. Angular Validation
  • Angular Validators
  • The NgModel Directive
  • Controlling when validation is applied
  • Displaying
  • Form
  • Validation State
  • Displaying
  • Field
  • Validation State
  • Displaying Validation State Using Classes
  • Disabling Submit when Form is Invalid
  • Submitting the Form
  • Binding to Object Variables
  • Binding to Object Variables - Code
  • Additional Input Types
  • Checkboxes
  • Select (Drop Down) Fields
  • Rendering Options for Select (Drop Down)
  • Date fields
  • Radio Buttons
  • Summary

Chapter 9. Reactive Forms

  • Reactive Forms Overview
  • The Building Blocks
  • Import ReactiveFormsModule
  • Construct a Form
  • Design the Template
  • FormControl Constructor
  • Getting Form Values
  • Setting Form Values
  • The Synchronous Nature
  • Subscribing to Input Changes
  • Validation
  • Built-In Validators
  • Showing Validation Error
  • Custom Validator
  • Using a Custom Validator
  • Sub FormGroups - Component Class
  • Sub FormGroups - HTML Template
  • Why Use Sub FormGroups
  • Summary

Chapter 10. Angular Modules

  • Why Angular Modules?
  • But, We Already Had ES6 Module
  • Angular Built-in Modules
  • The Root Module
  • Feature Modules
  • Create Feature Module Using CLI
  • The Module Class
  • @NgModule Properties
  • Using One Module From Another
  • Importing BrowserModule or CommonModule
  • Lazy-Loaded Modules
  • How to Organize Modules?
  • Third Party Modules
  • Summary

Chapter 11. Services and Dependency Injection

  • What is a Service?
  • Creating a Basic Service
  • What is Dependency Injection?
  • What Dependency Injection Looks Like
  • Injectors
  • Injector Hierarchy
  • Register a Service with a Module Injector
  • Registering a Service with the Root Injector
  • Registering a Service with a Component's Injector
  • Where to Register a Service?
  • Dependency Injection in Other Artifacts
  • Providing an Alternate Implementation
  • Dependency Injection and @Host
  • Dependency Injection and @Optional
  • Summary

Chapter 12. HTTP Client

  • The Angular HTTP Client
  • Using The HTTP Client - Overview
  • Importing HttpClientModule
  • Simple Example
  • Service Using HttpClient
  • ES6 Import Statements
  • Making a GET Request
  • What does an Observable Object do?
  • Using the Service in a Component
  • The PeopleService Client Component
  • Error Handling
  • Making a POST Request
  • Making a PUT Request
  • Making a DELETE Request
  • Summary

Chapter 13. Pipes and Data Formatting

  • What are Pipes?
  • Built-In Pipes
  • Using Pipes in HTML Template
  • Chaining Pipes
  • Using Pipes in Code
  • Internationalized Pipes (i18n)
  • Loading Locale Data
  • Decimal Pipe
  • Currency Pipe
  • Custom Pipes
  • Custom Pipe Example
  • Using Custom Pipes
  • Using a Pipe with ngFor
  • A Filter Pipe
  • A Sort Pipe
  • Pipe Category: Pure and Impure
  • Pure Pipe Example
  • Impure Pipe Example
  • Summary

Chapter 14. Introduction to Single Page Applications

  • What is a Single Page Application (SPA)
  • Traditional Web Application
  • SPA Workflow
  • Single Page Application Advantages
  • HTML5 History API
  • SPA Challenges
  • Implementing SPA's Using Angular
  • Summary

Chapter 15. The Angular Component Router

  • The Component Router
  • View Navigation
  • The Angular Router API
  • Creating a Router Enabled Application
  • Hosting the Routed Component
  • Navigation Using Links and Buttons
  • Programmatic Navigation
  • Passing Route Parameters
  • Navigating with Route Parameters
  • Obtaining the Route Parameter Values
  • Retrieving the Route Parameter Synchronously
  • Retrieving a Route Parameter Asynchronously
  • Query Parameters
  • Supplying Query Parameters
  • Retrieving Query Parameters Asynchronously
  • Problems with Manual URL entry and Bookmarking
  • Summary

Lab Exercises

Lab 1. Introduction to Angular
Lab 2. Introduction to TypeScript
Lab 3. Introduction to Components
Lab 4. Create the Subscription Form Component
Lab 5. Understanding Data Binding
Lab 6. One Way Data Binding in a Custom Component
Lab 7. Using Basic Angular Directives
Lab 8. Using Structural Directives
Lab 9. Custom Attribute Directive
Lab 10. Template Driven Form
Lab 11. Validation of a Template Driven Form
Lab 12. Reactive Forms
Lab 13. Service and Dependency Injection
Lab 14. HTTP Client Development
Lab 15. Using Pipes
Lab 16. Basic Single Page Application Using Router

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.