AngularJS Cookbook
AngularJS Cookbook

Retired

This book is no longer available for sale.

AngularJS Cookbook

This book is 100% complete

Completed on 2014-10-29

About the Book

Current state:

  • 67 recipes done. 
  • Download the sample to see if you like the brief style.
  • See the Table of contents for the complete recipe list
  • Now working with an editor to correct errors.
  • I focus on continuous improvement and update often.

The book contains 70 proven recipes to speed up your development with AngularJS.

This book is for you, if...

  • You want to learn new tricks. You may have realized that documentation doesn’t contain all necessary info or you may know one function description but don’t know yet how to use them.
  • You've may have already done this before but there are always those pesky tricky parts of a code that consumes a lot of your time. You want to avoid wasting your time with those again, which is what you’re wanting this book to do for you.
  • You want to learn more about Angular. Some recipes are short and only a rewrite of the documentation with the ‘why’. You could use / learn it from the documentation. But this is not only ‘how’, but ‘where’ and ‘why’. These are usually things which we were asked over and over again.
  • You are looking for solutions you can trust. All code examples are as brief / minimalistic as they could be. Usually, it sells to have a nice interface. But if you’re looking for a solution, you would want to first figure out what solves your problem and differentiate that from what is just there for stylistic purposes. 

Angular JS Cookbook will give you solutions that save you time and effort, it will give you some new recipes that you would find very useful and give you a deeper insight into the framework.

Table of Contents

    • Introduction
  • I Directive / View Recipes
    • 1 Create an analog clock with SVG
    • 2 Build a date select
    • 3 How to use AngularJS with a curly braced template engine
    • 4 Use the $compile function
    • 5 Show a confirm box before ng-click is executed
    • 6 Create a digital clock
    • 7 Enable the save button only on valid form data
    • 8 Disable trimming in input fields
    • 9 Dynamic service loading with the $injector
    • 10 Create a dynamic templateUrl
    • 11 Show a box on outstanding http requests (simple)
    • 12 Show only initialized data on startup
    • 13 Create a markdown live preview
    • 14 Table double rows with ng-repeat
    • 15 Prevent duplicate warnings in ng-repeat
    • 16 Slide right/left with animations
    • 17 Pass a function to a directive with an isolated scope (&)
    • 18 Select box with multiple option
    • 19 Select and ng-options
    • 20 Make a sortable table
    • 21 Make a stacked bar chart
    • 22 Prevent event propagation from ng-click
    • 23 Submit form on enter key
    • 24 Make a syntax highlighter
    • 25 Textarea char limit with remaining counter
    • 26 Theme support
    • 27 Use the inner html of a directive in your template
    • 28 Write a blacklist validator
    • 29 General purpose uniqueness validator
    • 30 Forms with view / edit mode
  • II Controller Recipes
    • 31 All / none / invert for a list of checkboxes
    • 32 Controller to controller communication
    • 33 Use your view filters in your controller (quick)
    • 34 Reset a form
    • 35 How to use the same function for multiple watchers
  • III Service Recipes
    • 36 Get current app name (quick)
    • 37 Prevent heavy computing operations from making your app sluggish
    • 38 How to structure your services
    • 39 Write a decorator - change a service result without monkey patching
    • 40 Notification service delayed / sticky
    • 41 Why is there a Provider at the end of some services ($route and $routeProvider)?
    • 42 Replace history path
  • IV Filter Recipes
    • 43 Filter an exact match (quick)
    • 44 Get last element(s) in a collection (quick)
    • 45 How to highlight a search
    • 46 Easy filtering with the filter filter
  • V Promise Recipes
    • 47 How to cache data with promises
    • 48 Convert a 3rd party promise with $q.when
    • 49 TODO: How to wait for several async events
    • 50 How to transform every callback into a promise
  • VI Testing Recipes
    • 51 Testing focus directive
    • 52 Mocking http requests
    • 53 Testing only a subset of tests
  • VII Big Picture Recipes
    • 54 Redirect to an error page
    • 55 Spreading route definitions among modules
    • 56 Stop timers before a scope is removed
    • 57 What all the extra .js files are doing?
    • 58 How to debug your application with the browser
    • 59 EcmaScript 5 array functions you should know and use
    • 60 Execute code at startup
    • 61 Finding Bottlenecks with Batarang
    • 62 How to use regular urls without the hash
    • 63 Report backend errors
    • 64 Optional params and wildcards in Router
    • 65 Deregister an event listener
    • 66 How to use the dot correctly
    • 67 What belongs on the scope

About the Author

Sascha Brink
Sascha Brink

Sascha Brink is a web technology consultant and freelance writer. He develops web applications since 15 years.

His current interests are Angular, Phoenix/Elixir and Docker/Kubernetes.

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub