Recipes with Angular.js

Practical concepts and techniques for rapid web application development

1075 readers

100% Happiness guarantee Learn more

Minimum: $9.99

Suggested: $14.99+

Ways to buy

About the Book

Angular.js is an open-source Javascript MVC (Model-View-Controller) framework developed by Google. It gives Javascript developers a highly structured approach to developing rich browser-based applications which leads to very high productivity.

If you are using Angular.js, or considering it, this cookbook provides easy to follow recipes for issues you are likely to face. Each recipe solves a specific problem and provides a solution and in-depth discussion of it.

Why is this a "beta version"?

I've decided to release this book in a partially complete state and publish updates on a weekly basis.

As a reader that has the disadvantage that you get the occasional glitches. On the other hand you have the opportunity to influence the book's content. Are there some topics you would like to see covered as a recipe? Let me know by sending an email to fdietz@gmail.com or leave a comment on this page.

Final release published

The final version of this book was release on June 23rd 2013. Thanks again for all your support!

About the Author

Frederik Dietz is a software developer located in Hamburg, Germany.

fdietz.de

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

♥♥♥♥♥

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up. See full terms.

If you buy a Leanpub book you get all the updates to the book for free! All books are available in PDF, EPUB (for iPad) and MOBI (for Kindle). There is no DRM. There is no risk, just guaranteed happiness or your money back.

Table of Contents

    • Introduction
    • Code Examples
    • How to contact me
    • Acknowledgements
  • An Introduction to Angular.js
    • Including the Angular.js Library Code in an HTML Page
    • Binding a Text Input to an Expression
    • Responding to Click Events using Controllers
    • Converting Expression Output with Filters
    • Creating Custom HTML Elements with Directives
  • Controllers
    • Assigning a Default Value to a Model
    • Changing a Model Value with a Controller Function
    • Encapsulating a Model Value with a Controller Function
    • Responding to Scope Changes
    • Sharing Models Between Nested Controllers
    • Sharing Code Between Controllers using Services
    • Testing Controllers
  • Directives
    • Enabling/Disabling DOM Elements Conditionally
    • Changing the DOM in Response to User Actions
    • Rendering an HTML Snippet in a Directive
    • Rendering a Directive’s DOM Node Children
    • Passing Configuration Params Using HTML Attributes
    • Repeatedly Rendering Directive’s DOM Node Children
    • Directive-to-Directive Communication
    • Testing Directives
  • Filters
    • Formatting a String With a Currency Filter
    • Implementing a Custom Filter to Reverse an Input String
    • Passing Configuration Params to Filters
    • Filtering a List of DOM Nodes
    • Chaining Filters together
    • Testing Filters
  • Consuming Externals Services
    • Requesting JSON Data with AJAX
    • Consuming RESTful APIs
    • Consuming JSONP APIs
    • Deferred and Promise
    • Testing Services
  • URLs, Routing and Partials
    • Client-Side Routing with Hashbang URLs
    • Using Regular URLs with the HTML5 History API
    • Using Route Location to Implement a Navigation Menu
    • Listening on Route Changes to Implement a Login Mechanism
  • Using Forms
    • Implementing a Basic Form
    • Validating a Form Model Client-Side
    • Displaying Form Validation Errors
    • Displaying Form Validation Errors with the Twitter Bootstrap framework
    • Only Enabling the Submit Button if the Form is Valid
    • Implementing Custom Validations
  • Common User Interface Patterns
    • Filtering and Sorting a List
    • Paginating Through Client-Side Data
    • Paginating Through Server-Side Data
    • Paginating Using Infinite Results
    • Displaying a Flash Notice/Failure Message
    • Editing Text In-Place using HTML5 ContentEditable
    • Displaying a Modal Dialog
    • Displaying a Loading Spinner
  • Backend Integration with Ruby on Rails
    • Consuming REST APIs
    • Implementing Client-Side Routing
    • Validating Forms Server-Side
  • Backend Integration with Node Express
    • Consuming REST APIs
    • Implementing Client-Side Routing

Last updated

This Book is for Sale Through Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed books like this one.

Leanpub_logo_medium

Read

Leanpub has a wide selection of in-progress and completed books available to browse, purchase, and enjoy.

Browse the Bookstore

Write

Leanpub is free for authors and publishers to use. We pay authors or publishers 90% royalties minus 50 cents per sale.

Write a Book