AngularJS 1.x Topic Outline

Our approximate class outline is shown here. We vary the agenda and order, and reallocate the time among the topics, to meet student needs.

Versions Covered

Our AngularJS 1.x class covers primarily versions 1.5-1.6. For private class teams working on older projects with large amounts of 1.2-1.4 code, contact our customer service team for a customized offering to meet your need.

Introduction

  • Angular Boot Camp
    • Who We (Oasis Digital) Are
    • Class Objectives and Roadmap
    • Prerequisites Review
    • Student Experience and Expectations
  • What is AngularJS?
    • SPAs vs Conventional Web Applications
    • Why AngularJS?
    • Where AngularJS Fits
  • Simplest AngularJS application

Starting with AngularJS

  • Component Introduction
    • IIFE
  • Multiple source files
  • Component data binding
  • Component functions and event handlers
  • Component nesting, one inside another
    • Managing the script tags in the index
    • Module loader
  • Introduction to routing

Building with Components

  • Development tooling
  • Starting your AngularJS project
  • Component hierarchy
  • Conditionally including content with `ng-if`
  • Looping over data with `ng-repeat`
  • Data models and built-in filters
    • Filters
    • Filter Chaining
  • Class and style bindings
  • Angular Startup timing
    • Templating Links and Images
  • Components data bindings
  • Component events

Services, promises, and HTTP

  • Dependency injection
  • Services, factories, providers, etc.
    • What are they?
    • Why use them?
    • Constants and Values
    • Services
    • Factories
    • Providers
    • Decorators
    • When to use each kind?
    • Testing Services (etc.)
  • Injecting services into services
  • Unit testing
    • Special tooling to run Jasmine in the browser
    • Testing modules
    • Testing services
    • testing filters
  • The problem with callbacks
  • Promise chaining
    • Concepts and Definitions
    • More Than Just Async
    • The Promises You Already Know
    • Essentials
    • Q and $q
    • The Deferred Object
    • Chaining Promises
    • Error Handling
    • Testing Promises
  • HTTP and promises
  • Unit testing with mock HTTP
  • Promise trees

Modules and routing

  • Modules
  • Routing and Multiple Views
  • Route-driven data loading
  • Route Resolve

Data flow, bindings and digest

  • Digest Cycle and Watches
    • How it Really Works
    • The "watch"
  • Binding Performance considerations
  • ngSanitize
  • Static String Bindings
  • Stateful Services
    • Filtered list example

Other AngularJS features - extra material for Q&A

  • Filters
  • Routing, Expanded
  • Promise Composition
    • $q.race
  • Directives
  • Decorator Directives
  • Form Validation
    • Testing Forms
  • NgModelOptions
  • Custom Validation
  • Custom Asynchronous Validation
  • Transclusion
  • Multi slot transclusion
  • HTTP Interceptors
  • Promise API
  • Promises, Continued
  • Providers
  • Animations

Third-party code, examples, and legacy features - extra material for Q&A

  • Cooperating Directives
  • Dynamic Page Title
  • Calling a complex APi
  • Dynamic Field / Nested Directive Example
  • ng-controller and template
  • Controller As
  • Scope Events
    • From directives to components
  • NgResource
  • Digest Cycle and Watches
    • The "watch"
  • Explicit dependency injection for Minification-safety

This curriculum covers the basics well, and positions students to use AngularJS 1.x very effectively. We update and vary the topics, or reallocate the time among the topics, to meet student needs.

The contents from Other AngularJS features onward are used to answer questions that arise in class.

You can also review an example transcript of Angular Boot Camp from early 2014, but the class contents have been updated substantially to keep up with AngularJS versions since then.