What You Will Learn
This book will teach you the inner workings of AngularJS by guiding you through implementing your own version of the framework from the ground up.
Each feature is introduced by discussing what it's used for and why it's needed. The feature is then implemented step by step using test-driven development practices: By writing a failing test and then making it pass.
The six most important things you’ll learn
- How all the major components of AngularJS work. Whether it's scopes, data binding, filters, directives, or dependency injection, you will learn not only how to use it, but also how it's actually implemented.
- How an Angular application holds together. The book will demystify the mechanics of how and when different parts of your application are created and destroyed, as well as how they're connected with each other.
- The performance characteristics of AngularJS. When you know how your framework is implemented, you know what it can and cannot do efficiently. You'll also know where to look when facing performance problems.
- How to extend AngularJS. You'll learn all the extension points of Angular and how to use them.
Table of Contents
- 0. Project Setup
Part 1: Scopes
- 1. Scopes And Digest
- 2. Scope Methods
- 3. Scope Inheritance
- 4. Watching Collections
- 5. Scope Events
Part 2: Expressions And Filters
- 6. Literal Expressions
- 7. Lookup And Function Call Expressions
- 8. Operator Expressions
- 9. Filters
- 10. Expressions And Watches
Part 3: Modules And Dependency Injection
- 11. Modules And The Injector
- 12. Providers
- 13. High-Level DI Features
Part 4: Utilities
- 14. Promises
- 15. $http
Part 5: Directives
- 16. DOM Compilation and Basic Directives
- 17. Directive Attributes
- 18. Directive Linking and Scopes
- 19. Controllers
- 20. Directive Templates
- 21. Directive Transclusion
- 22. Interpolation
- 23. Components
- 24. Bootstrapping Angular
About The Author
Tero Parviainen is an independent software developer who has been creating web applications professionally for over 14 years.
Tero is the author of Real-time Web Application Development using Vert.x 2.0. He is active in the Clojure community, organizing events such as the Clojure Cup, and some Clojure user group activities in Finland.