AngularJS 1.x Class Outline

We vary the agenda and order, and reallocate the time on topics, to meet your needs.

Versions Covered

Our 1.x class covers versions 1.5-1.6. We can also use an older version of our curriculum for private groups using version 1.4 or lower.

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