Content list
About
Chapter 1: Getting started with AngularJS
Section 1.1: Getting Started
Section 1.2: Showcasing all common Angular constructs
Section 1.3: The importance of scope
Section 1.4: Minification in Angular
Section 1.5: AngularJS Getting Started Video Tutorials
Section 1.6: The Simplest Possible Angular Hello World
Chapter 2: Modules
Section 2.1: Modules
Section 2.2: Modules
Chapter 3: Components
Section 3.1: Basic Components and LifeCycle Hooks
Section 3.2: Components In angular JS
Chapter 4: Built-in directives
Section 4.1: Angular expressions - Text vs. Number
Section 4.2: ngIf
Section 4.3: ngCloak
Section 4.4: ngRepeat
Section 4.5: Built-In Directives Cheat Sheet
Section 4.6: ngInclude
Section 4.7: ng-model-options
Section 4.8: ngCopy
Section 4.9: ngPaste
Section 4.10: ngClick
Section 4.11: ngList
Section 4.12: ngOptions
Section 4.13: ngSrc
Section 4.14: ngModel
Section 4.15: ngClass
Section 4.16: ngDblclick
Section 4.17: ngHref
Section 4.18: ngPattern
Section 4.19: ngShow and ngHide
Section 4.20: ngRequired
Section 4.21: ngMouseenter and ngMouseleave
Section 4.22: ngDisabled
Section 4.23: ngValue
Chapter 5: Use of in-built directives
Section 5.1: Hide/Show HTML Elements
Chapter 6: Custom Directives
Section 6.1: Creating and consuming custom directives
Section 6.2: Directive Definition Object Template
Section 6.3: How to create resuable component using directive
Section 6.4: Basic Directive example
Section 6.5: Directive decorator
Section 6.6: Basic directive with template and an isolated scope
Section 6.7: Building a reusable component
Section 6.8: Directive inheritance and interoperability
Chapter 7: How data binding works
Section 7.1: Data Binding Example
Chapter 8: Angular Project - Directory Structure
Section 8.1: Directory Structure
Chapter 9: Filters
Section 9.1: Accessing a filtered list from outside an ng-repeat
Section 9.2: Custom filter to remove values
Section 9.3: Custom filter to format values
Section 9.4: Using filters in a controller or service
Section 9.5: Performing filter in a child array
Chapter 10: Custom filters
Section 10.1: Use a filter in a controller, a service or a filter
Section 10.2: Create a filter with parameters
Section 10.3: Simple filter example
Chapter 11: Constants
Section 11.1: Create your first constant
Section 11.2: Use cases
Chapter 12: Custom filters with ES6
Section 12.1: FileSize Filter using ES6
Chapter 13: Directives using ngModelController
Section 13.1: A simple control: rating
Section 13.2: A couple of complex controls: edit a full object
Chapter 14: Controllers
Section 14.1: Your First Controller
Section 14.2: Creating Controllers, Minification safe
Section 14.3: Using ControllerAs in Angular JS
Section 14.4: Creating Minification-Safe Angular Controllers
Section 14.5: Creating Controllers
Section 14.6: Nested Controllers
Chapter 15: Controllers with ES6
Section 15.1: Controller
Chapter 16: The Self Or This Variable In A Controller
Section 16.1: Understanding The Purpose Of The Self Variable
Chapter 17: Services
Section 17.1: Creating a service using angular.factory
Section 17.2: Dierence between Service and Factory
Section 17.3: $sce - sanitize and render content and resources in templates
Section 17.4: How to create a Service
Section 17.5: How to use a service
Section 17.6: How to create a Service with dependencies using 'array syntax'
Section 17.7: Registering a Service
Chapter 18: Distinguishing Service vs Factory
Section 18.1: Factory VS Service once-and-for-all
Chapter 19: Angular promises with $q service
Section 19.1: Wrap simple value into a promise using $q.when()
Section 19.2: Using angular promises with $q service
Section 19.3: Using the $q constructor to create promises
Section 19.4: Avoid the $q Deferred Anti-Pattern
Section 19.5: Using $q.all to handle multiple promises
Section 19.6: Deferring operations using $q.defer
Chapter 20: Dependency Injection
Section 20.1: Dynamic Injections
Section 20.2: Dynamically load AngularJS service in vanilla JavaScript
Chapter 21: Events
Section 21.1: Using angular event system
Section 21.2: Always deregister $rootScope.$on listeners on the scope $destory event
Section 21.3: Uses and significance
Chapter 22: Sharing Data
Section 22.1: Using ngStorage to share data
Section 22.2: Sharing data from one controller to another using service
Chapter 23: Form Validation
Section 23.1: Form and Input States
Section 23.2: CSS Classes
Section 23.3: Basic Form Validation
Section 23.4: Custom Form Validation
Section 23.5: Async validators
Section 23.6: ngMessages
Section 23.7: Nested Forms
Chapter 24: Routing using ngRoute
Section 24.1: Basic example
Section 24.2: Defining custom behavior for individual routes
Section 24.3: Route parameters example
Chapter 25: ng-class directive
Section 25.1: Three types of ng-class expressions
Chapter 26: ng-repeat
Section 26.1: ng-repeat-start + ng-repeat-end
Section 26.2: Iterating over object properties
Section 26.3: Tracking and Duplicates
Chapter 27: ng-style
Section 27.1: Use of ng-style
Chapter 28: ng-view
Section 28.1: Registration navigation
Section 28.2: ng-view
Chapter 29: AngularJS bindings options (`=`, `@`, `&` etc.)
Section 29.1: Bind optional attribute
Section 29.2: @ one-way binding, attribute binding
Section 29.3: = two-way binding
Section 29.4: & function binding, expression binding
Section 29.5: Available binding through a simple sample
Chapter 30: Providers
Section 30.1: Provider
Section 30.2: Factory
Section 30.3: Constant
Section 30.4: Service
Section 30.5: Value
Chapter 31: Decorators
Section 31.1: Decorate service, factory
Section 31.2: Decorate directive
Section 31.3: Decorate filter
Chapter 32: Print
Section 32.1: Print Service
Chapter 33: ui-router
Section 33.1: Basic Example
Section 33.2: Multiple Views
Section 33.3: Using resolve functions to load data
Section 33.4: Nested Views / States
Chapter 34: Built-in helper Functions
Section 34.1: angular.equals
Section 34.2: angular.toJson
Section 34.3: angular.copy
Section 34.4: angular.isString
Section 34.5: angular.isArray
Section 34.6: angular.merge
Section 34.7: angular.isDefined and angular.isUndefined
Section 34.8: angular.isDate
Section 34.9: angular.noop
Section 34.10: angular.isElement
Section 34.11: angular.isFunction
Section 34.12: angular.identity
Section 34.13: angular.forEach
Section 34.14: angular.isNumber
Section 34.15: angular.isObject
Section 34.16: angular.fromJson
Chapter 35: digest loop walkthrough
Section 35.1: $digest and $watch
Section 35.2: the $scope tree
Section 35.3: two way data binding
Chapter 36: Angular $scopes
Section 36.1: A function available in the entire app
Section 36.2: Avoid inheriting primitive values
Section 36.3: Basic Example of $scope inheritance
Section 36.4: How can you limit the scope on a directive and why would you do this?
Section 36.5: Using $scope functions
Section 36.6: Creating custom $scope events
Chapter 37: Using AngularJS with TypeScript
Section 37.1: Using Bundling / Minification
Section 37.2: Angular Controllers in Typescript
Section 37.3: Using the Controller with ControllerAs Syntax
Section 37.4: Why ControllerAs Syntax?
Chapter 38: $http request
Section 38.1: Timing of an $http request
Section 38.2: Using $http inside a controller
Section 38.3: Using $http request in a service
Chapter 39: Prepare for Production - Grunt
Section 39.1: View preloading
Section 39.2: Script optimisation
Chapter 40: Grunt tasks
Section 40.1: Run application locally
Chapter 41: Lazy loading
Section 41.1: Preparing your project for lazy loading
Section 41.2: Usage
Section 41.3: Usage with router
Section 41.4: Using dependency injection
Section 41.5: Using the directive
Chapter 42: HTTP Interceptor
Section 42.1: Generic httpInterceptor step by step
Section 42.2: Getting Started
Section 42.3: Flash message on response using http interceptor
Chapter 43: Session storage
Section 43.1: Handling session storage through service using angularjs
Chapter 44: Angular MVC
Section 44.1: The Static View with controller
Section 44.2: Controller Function Definition
Section 44.3: Adding information to the model
Chapter 45: SignalR with AngularJS
Section 45.1: SignalR and AngularJS [ ChatProject ]
Chapter 46: Migration to Angular 2+
Section 46.1: Converting your AngularJS app into a componend-oriented structure
Section 46.2: Introducing Webpack and ES6 modules
Chapter 47: AngularJS with data filter, pagination etc
Section 47.1: AngularJS display data with filter, pagination
Chapter 48: Profiling and Performance
Section 48.1: 7 Simple Performance Improvements
Section 48.2: Bind Once
Section 48.3: ng-if vs ng-show
Section 48.4: Watchers
Section 48.5: Always deregister listeners registered on other scopes other than the current scope
Section 48.6: Scope functions and filters
Section 48.7: Debounce Your Model
Chapter 49: Performance Profiling
Section 49.1: All About Profiling
Chapter 50: Debugging
Section 50.1: Using ng-inspect chrome extension
Section 50.2: Getting the Scope of element
Section 50.3: Basic debugging in markup
Chapter 51: Unit tests
Section 51.1: Unit test a component (1.5+)
Section 51.2: Unit test a filter
Section 51.3: Unit test a service
Section 51.4: Unit test a controller
Section 51.5: Unit test a directive
Chapter 52: AngularJS gotchas and traps
Section 52.1: Things to do when using html5Mode
Section 52.2: Two-way data binding stops working
Section 52.3: 7 Deadly Sins of AngularJS
Credits
You may also like
The AngularJS Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow.
This open book is licensed under a Creative Commons License (CC BY-SA).