AngularJS Cookbook
AngularJS Cookbook
70 Recipes for AngularJS 1.2
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
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 million USDwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them