...start learning Angular 1 from the beginning

Ready to dig in to AngularJS? These lessons will get you started.

Watch User Created Playlist (105)

This playlist is user created.

pro-course-rss-logo

PRO RSS Feed

First Step: Adding Angular to the HTML Page

Basic Binding in AngularJS

Controllers

P

Sharing Data Between Controllers

Defining a Method on the Scope

Filters

ngRepeat and Filtering Data

Built-in Filters

First Directive

Write Your First Directive

Basic Behaviors

Useful Behaviors

Directive Restrictions

Understanding Isolate Scope

Isolate Scope "&"

Isolate Scope "="

Isolate Scope "@"

Isolate Scope Review

P

Directives Talking to Controllers

Directive to Directive Communication in AngularJS

Transclusion Basics

Building Zippy

angular.element

$scope vs. scope

templateUrl

$templateCache

The config function

Basic Promises in AngularJS

Providers

Injectors

Components and Containers

ng-repeat and $index, $event, $log

Directive Communication

animation basics

Animating with JavaScript

Animating the Angular Way

Introduction to ui-router

ui-router Named Views

P

ui-router: Activating States

ui-router: Abstract States

P

AngularJS $http service

transformResponse

Chained Promises in Angular

P

transformRequest

P

$q.all

$interval

P

Accessing Scope from The Console

P

Accessing Services from Console

P

Build a Debug Directive

Multiple HTTP Requests with $q

P

CodeSchool Refactor - Reusable Directives Part 1/2

CodeSchool Refactor - Flexible Directives Part 2/2

caching with $http

P

Building an Angular App: Eggly Introduction

Building an Angular App: Bootstrapping

Building an Angular App: Controllers

Building an Angular App: Filters

Building an Angular App: Simple States

Building an Angular App: Add a bookmark with ng-submit and ng-model

Building an Angular App: Editing a bookmark with ng-model and a controller

Building an Angular App: Deleting an item from a collection

Building an Angular App: Eggly Review

AngularJS Architecture: Series Introduction

AngularJS Architecture: File Structure

P

AngularJS Architecture: Using Sub-Modules

P

AngularJS Architecture: Basic State with ui-router

P

AngularJS Architecture: Using ui-router's named views

P

AngularJS Architecture: ui-router state params for sharing information

P

AngularJS Architecture: navigating between states with ui-router

P

AngularJS Architecture: Prefer the 'controller as' syntax

P

AngularJS Architecture: Refactor to a data model

P

AngularJS Architecture: Using $http to load JSON data

P

AngularJS Architecture: Control your promises with $q

P

AngularJS Architecture: Edit and Create Bookmark States

P

AngularJS Architecture: Create Bookmark

P

AngularJS Architecture: Edit Bookmark

P

AngularJS Architecture: Delete Bookmark

P

AngularJS Architecture: Animate state transitions with ui-router

P

AngularJS Architecture: Review

P

New in Angular 1.3 - Stateless Filters

P

New in Angular 1.3 - $scope.$watchGroup

Using AngularJS interceptors with $http

New in Angular 1.3 - Bind Once

P

New in Angular 1.3 - $q constructor

P

Introduction to ng-messages for AngularJS

Reusing and Overriding ng-messages

Using ng-messages with ng-animate

P

New in Angular 1.3: ng-model-options updateOn and debounce

P

Using ng-aria to automatically improve your AngularJS accessibility

New in Angular 1.3: Updates to forms

P

Using Services in Angular Directives

New in Angular 1.3 - bindToController

P

New in Angular 1.3 - Performance Boost with debugInfoEnabled

P

Using ngModelOptions to Update on Blur

Consistency between ui-router states and Angular directives

P

Angular Automation: Introduction to Gulp

Angular Automation: Installing Gulp Globally and Locally

P

Angular Automation: Gulp Tasks

P

Angular Automation: Copy Assets with Gulp

P

Angular Automation: Gulp Inject

P

Angular Automation: Gulp Serve

Angular Automation: Gulp Config

P

Angular Automation: Gulp Watch

P

Getting started with $animateCss and Angular

P

Sync Requests with RxJS and Angular

P
angularjs tutorial about First Step: Adding Angular to the HTML Page

First Step: Adding Angular to the HTML Page

2:51 angularjs

The first step to any AngularJS project, is actually adding AngularJS to the page. This lesson will show you adding the Angular script, initializing the app with ng-app, and simple two way binding with ng-model. This is a beginner level lesson.

angularjs tutorial about Basic Binding in AngularJS

Basic Binding in AngularJS

1:27 angularjs

Binding is a core feature of AngularJS. It provides a simple mechanism for integrating your HTML with your data via {{bracketed expressions}}. In this video, John covers the basics of binding to get you started.

Controllers

1:11 angularjs PRO

Controllers are the 'glue' of an AngularJS application. They connect your markup with your data and act as a sort of switchboard.

angularjs tutorial about Sharing Data Between Controllers

Sharing Data Between Controllers

5:13 angularjs

If AngularJS Controllers are the glue of an application, how do they communicate and pass data around? This introduction to service factories will shed some light on that question.

angularjs tutorial about Defining a Method on the Scope

Defining a Method on the Scope

2:16 angularjs

Armed with Controllers and service factories, you'll probably want to do some work on the data to give your app behaviors. In this video we will look at providing that behavior by defining a method on the scope. This method will be bound within the HTML and update live as input changes.

Filters

2:19 angularjs

Many times while building an AngularJS application you'll need to manipulate data, and it doesn't make sense to do it with a Controller method. Luckily you have Filters, which are particularly well suited for manipulating text within your HTML views. This handy tool uses a simple syntax to create highly reusable functionality for your apps.

angularjs tutorial about ngRepeat and Filtering Data

ngRepeat and Filtering Data

5:13 angularjs

When working with sets of data, it is common to need to repeat the same UI element over and over again with values from each object in the set. ngRepeat provides an elegant and simple way to accomplish this within your HTML. We will also provide a filter to a repeater that gives us basic search functionality.

angularjs tutorial about Built-in Filters

Built-in Filters

2:13 angularjs

AngularJS comes with several handy filters that you can use out of the box. These filters can be combined to create more complex filtered results.

angularjs tutorial about First Directive

First Directive

2:08 angularjs

Directives might just be the killer feature of AngularJS. Directives allow us to extend the grammar of the web through reusable HTML elements, attributes, and classes.

angularjs tutorial about Write Your First Directive

Write Your First Directive

2:46 angularjs

Write your very first directive! This lesson will show you how to declare a directive, and start using the "link" function to modify the behavior of an HTML element.

angularjs tutorial about Basic Behaviors

Basic Behaviors

3:29 angularjs

Bring your directives to life with custom behaviours. This is the recommended way of interacting with the DOM in AngularJS. If you find yourself modifying the DOM inside of your controllers (bad), directive behaviours are your solution (awesome).

Useful Behaviors

2:55 angularjs

When you define a directive you get access to the attrs object by declaring it as a dependency in the link function. The attrs object will contain the normalized attributes and their corresponding values declared on the element which contains the directive in the html. So if you set a value on your directive attribute (myDirective="value"), you can access this value in your directive configuration by accessing attrs.myDirective, as this contains the value set in the html for myDirective.

angularjs tutorial about Directive Restrictions

Directive Restrictions

3:01 angularjs

By default AngularJS directives can be used with elements, attributes, classes, and comments. Many times we want to restrict it to one or more of those to control how a directive will be used. This lesson digs into how and why to use Directive restrictions.

angularjs tutorial about Understanding Isolate Scope

Understanding Isolate Scope

6:38 angularjs

By adding an isolated scope object to your AngularJS directive you can insure that each element using that directive has its own scope. This prevents it from affecting sibling directives and encapsulates the directive.

angularjs tutorial about Isolate Scope "&"

Isolate Scope "&"

6:03 angularjs

The "&" in your isolated scopes within your AngularJS application will allow you to invoke a method within the scope that your directive lives in.

Isolate Scope "="

2:51 angularjs

Perhaps the most useful of the isolate scope binding methods, this episode talks about the use of "=" for two way binding within your directives.

Isolate Scope "@"

4:51 angularjs

AngularJS isolate scopes can be a bit cryptic when you are first starting out. In this lesson, John looks at the attribute or "@" designator in your isolate scopes.

Isolate Scope Review

3:30 angularjs PRO

A review of the three types of isolate scope binding methods in AngularJS. The "@" operator is used for reading an attribute, "=" is used for creating a bi-directional two way binding, and "&" is used to make a call on something a controller scope.

Directives Talking to Controllers

4:43 angularjs

Often in AngularJS we want to share information between controllers and directives. One way to do this is by passing the scope, but this makes the directive reliant on the scope having the methods you want to run. This lesson shows you a cleaner way that you can pass methods to the directive using an attribute and decouple controllers from directives. This in turn makes your directives more generic/reusable.

Directive to Directive Communication in AngularJS

8:01 angularjs

In Angular JS, you can use one directive as an element and other directives as attributes to the element, allowing you to specify different functionality for elements based on the attributes in the element. This lesson shows you how to take a group of directive elements and give them each unique functionality based on their directive attributes.

angularjs tutorial about Transclusion Basics

Transclusion Basics

2:48 angularjs

Uh oh. Transclusion? What the heck? It's a big word, but it is actually a very simple concept. In this episode John shows you how transclusion is used in your AngularJS directives...

angularjs tutorial about Building Zippy

Building Zippy

7:55 angularjs

Building a demo AngularJS directive named Zippy using ng-model, ng-click and transclusion (no controller)

angularjs tutorial about angular.element

angular.element

8:40 angularjs

A brief overview of using element in an AngularJS directive, and how to target one without jquery, and also how to use replace and compile function

$scope vs. scope

9:14 angularjs

This episode is explaining the naming conventions behind for the arguments passed to the factory functions for controllers, directives, linking functions, etc., its implications in regard to Angular’s dependency injection, minification side effects on arguments, and how to prevent them.

templateUrl

3:45 angularjs

If you want to keep your template code in a separate html file, you can use the templateUrl property to tell Angular where to find it.

$templateCache

3:07 angularjs

An alternative to inject an AngularJS template by using $templateCache, using .get() and .put() methods

angularjs tutorial about The config function

The config function

2:55 angularjs

This episode explains the config phase of an AngularJS application and how is it special in regards to $routeProvider (routing configuration) and providers in general.

Basic Promises in AngularJS

4:03 angularjs

An AngularJS promise is a mechanism that lets you defer a stated action or series of actions at an earlier point of time until you explicitly declare that promise to be fulfilled (or resolved). Promises are useful for asynchronous operations. This video introduces the basic way to declare and resolve promises.

angularjs tutorial about Providers

Providers

5:06 angularjs

This lesson describes what is really happening when you use the angular
factory and how you can make your factories even more dynamic in creation.
This gets further into the internals of AngularJS by showing you how a factory is built dynamically for you and how they have reduced the plumbing you need to make applications.

Injectors

2:55 angularjs

Injectors inject your dependencies in your AngularJS application. For the most part it will automatically work when constructing objects (controllers) and provide the dependencies defined with your service/factory/provider, it can also be injected itself and be used for invoking methods with injection.

angularjs tutorial about Components and Containers

Components and Containers

4:27 angularjs

This lesson describes fundamentals for creating custom directives (broken down into Components and Containers). The component demonstrates how to use the service template to create a simple clock directive whereby AngularJS will bind with objects in the template property and access element attributes. The component example will provide a demonstration of how you can nest components and containers, taking advantage of AngularJS transclusion capabilities.

angularjs tutorial about ng-repeat and $index, $event, $log

ng-repeat and $index, $event, $log

4:48 angularjs

$index and $event are handy shortcuts that allow you to access useful information directly in your views. $log facilitates configurable logging without using console.log directly.

angularjs tutorial about Directive Communication

Directive Communication

4:28 angularjs

In AngularJS, hierarchical directives have the ability to communicate with one another via their defined controllers. With simple syntax/notation you are able to define links between directives and their controllers.

angularjs tutorial about animation basics

animation basics

3:52 angularjs

Angular 1.2 introduces new animation functionality. This episode looks at the very basics of getting the animation module loaded and using it to create your first simple animation with CSS.

angularjs tutorial about Animating with JavaScript

Animating with JavaScript

3:45 angularjs

In this lesson John looks at how to integrate the popular TweenMax library with ngAnimate to get animation effects in an AngularJS application.

angularjs tutorial about Animating the Angular Way

Animating the Angular Way

5:53 angularjs

In this episode John uses TweenMax to add animations to AngularJS. Instead of manipulating DOM directly in a controller, we will use an AngularJS directive to abstract that view logic cleanly using $animate.

angularjs tutorial about Introduction to ui-router

Introduction to ui-router

4:35 angularjs

In his debut egghead.io lesson, Joel will show you how to get setup and running with ui-router, an alternative to AngularJS's default routing module.

ui-router Named Views

6:38 angularjs PRO

The ui-router library for AngularJS provides the ability to name views within your application. This is useful for dividing up your application into sections, and changing the content of a section based on the current state.

angularjs tutorial about ui-router: Activating States

ui-router: Activating States

4:04 angularjs

The ui-router library for AngularJS provides several options for navigating between states in your application. You can navigate via the browser's URL bar, programatically with $state.go, and with the ui-sref directive on your HTML elements.

angularjs tutorial about ui-router: Abstract States

ui-router: Abstract States

3:17 angularjs PRO

ui-router has the powerful ability to define abstract states, or states that can't be navigated to, but are useful for defining a set of states with shared properties.

angularjs tutorial about AngularJS $http service

AngularJS $http service

4:05 angularjs

In this lesson, John covers the use of AngularJS's $http service for making requests and handling responses from external web services

angularjs tutorial about transformResponse

transformResponse

4:01 angularjs

In his debut lesson, Trevor test drives the transformation of a response from an external REST service using the the transformResponse option of AngularJS's $http service.

angularjs tutorial about Chained Promises in Angular

Chained Promises in Angular

7:07 angularjs PRO

Promises are a fantastic tool in AngularJS. Many times, as you start to chain them together, they become ugly and unwieldy. In this lesson, Thomas will show you an approach for breaking your chained promises down into a flat, clean, readable structure.

transformRequest

6:16 angularjs PRO

In this lesson Trevor will show you how to transform your requests using AngularJS's $http service's transformRequest option and TDD. This allows you to keep your applications domain clean when integrating with third party APIs.

$q.all

2:35 angularjs

Orchestrating the handling of multiple promises in AngularJS is simple if you take advantage of $q.all. Using $q.all will take your promises, wait until they have all resolved and return the result of all the promises as an ordered array.

$interval

1:36 angularjs PRO

$interval provides an excellent service for timed operations in your AngularJS apps. It has the advantage over setInterval in "normal" Javascript in that it is aware of Angular's view cycles, as well as being mockable for unit tests. Additionally, it returns a promise and provides a lot of flexibility.

Accessing Scope from The Console

1:40 angularjs PRO

The Chrome Dev Tools console is an amazing tool. In this lesson you'll learn how to use the console to programmatically grab scopes in your AngularJS application.

Accessing Services from Console

2:39 angularjs PRO

Using the Chrome console, you can access your AngularJS injectable services. This is down and dirty debugging, and can be a lifesaver in troubling times.

Build a Debug Directive

4:00 angularjs

Explore some interesting techniques with AngularJS directives to create a debug directive using termination, priority, and the $compile service.

angularjs tutorial about Multiple HTTP Requests with $q

Multiple HTTP Requests with $q

5:06 angularjs PRO

In AngularJS, multiple HTTP requests can be coordinated with $q.all, making your project's code cleaner and more testable.

angularjs tutorial about CodeSchool Refactor - Reusable Directives Part 1/2

CodeSchool Refactor - Reusable Directives Part 1/2

5:47 angularjs

In collaboration with CodeSchool, John refactors pieces of the CodeSchool Angular app into a more reusable directives.

angularjs tutorial about CodeSchool Refactor - Flexible Directives Part 2/2

CodeSchool Refactor - Flexible Directives Part 2/2

14:25 angularjs

In collaboration with CodeSchool, John takes the reusable directives from the previous video and works them into more flexible and easy to use directives.

angularjs tutorial about caching with $http

caching with $http

2:17 angularjs PRO

By default your HTTP requests with the $https service in Angular are not cached. By setting some options, you can turn caching on.

angularjs tutorial about Building an Angular App: Eggly Introduction

Building an Angular App: Eggly Introduction

1:54 angularjs

In this lesson, we introduce our sample AngularJS application and discuss our objectives for this series.

angularjs tutorial about Building an Angular App: Bootstrapping

Building an Angular App: Bootstrapping

3:48 angularjs

In this lesson, we learn how to take a static HTML page and tap into the power of AngularJS by bootstrapping the framework.

angularjs tutorial about Building an Angular App: Controllers

Building an Angular App: Controllers

7:58 angularjs

We are going to take the static HTML elements and dynamically display them on the page by setting up an AngularJS controller and hooking it up with AngularJS templating in the view.

The code for this lesson can be found on Github. Note: the tag name corresponds to the lesson.

angularjs tutorial about Building an Angular App: Filters

Building an Angular App: Filters

6:28 angularjs

We are going to learn how to filter our bookmarks based on the selected category. We will learn how to manage the current category in the controller as well as set the current category from the view. As a bonus, we will see how to dynamically apply a class to visually indicate what category is the currently selected category.

The code for this lesson can be found on Github. note: the tags correspond to the lessons.

angularjs tutorial about Building an Angular App: Simple States

Building an Angular App: Simple States

8:44 angularjs

We are going to learn how to manage simple states within our controller. We are going to learn how to toggle between the editing and creating bookmark states and how to sequence those interactions in the controller.

note: The code for this lesson can be found on Github. The tags correspond to the lessons.

angularjs tutorial about Building an Angular App: Add a bookmark with ng-submit and ng-model

Building an Angular App: Add a bookmark with ng-submit and ng-model

5:38 angularjs

We are going to learn how to create a bookmark by adding it to the bookmarks collection. We will learn how to submit the contents of a form to the controller to be processed by exploring ng-submit and ng-model.

The source for this lesson can be found here on Github. Tags correspond to the lessons.

angularjs tutorial about Building an Angular App: Editing a bookmark with ng-model and a controller

Building an Angular App: Editing a bookmark with ng-model and a controller

9:13 angularjs

We are going to learn how to edit an existing bookmark by building on a lot of the same techniques from the previous video. We will also learn how to edit a bookmark and not actually save the change back to the collection until we are ready.

Find the code on Github. Tags correspond to the lesson.

angularjs tutorial about Building an Angular App: Deleting an item from a collection

Building an Angular App: Deleting an item from a collection

3:50 angularjs

We are going to complete the bookmark management functionality by showing how to delete a bookmark from the bookmarks collection.

The source for this lesson can be found on Github. Tags correspond to the lesson.

angularjs tutorial about Building an Angular App: Eggly Review

Building an Angular App: Eggly Review

4:57 angularjs

Let's review everything that we have learned up this point and discuss what we are going to be learning in the next section.

Be sure to check out Part 2: Application Architecture

angularjs tutorial about AngularJS Architecture: Series Introduction

AngularJS Architecture: Series Introduction

2:32 angularjs

Ready to start learning about AngularJS Application Architecture? This lesson series is for you. Let's talk about what you will learn.

angularjs tutorial about AngularJS Architecture: File Structure

AngularJS Architecture: File Structure

5:51 angularjs PRO

Let's talk about the importance of having a good file structure and how it is is very much like good code in that it is self documenting and friendly to extension. We will introduce the file structure that will serve as the foundation for the rest of the series as we refactor Eggly.

angularjs tutorial about AngularJS Architecture: Using Sub-Modules

AngularJS Architecture: Using Sub-Modules

4:22 angularjs PRO

Let's look at sub-modules as a mechanism for organizing our code into logical containers that we can then compose into our main application. Leveraging sub-modules is a powerful way to add in new functionality and features into an application while minimizing the impact that it has on the existing code base.

angularjs tutorial about AngularJS Architecture: Basic State with ui-router

AngularJS Architecture: Basic State with ui-router

5:20 angularjs PRO

We will look at ui-router and learn how we can use it to define unique states with Eggly. This will allow us to leverage the power of a state machine in our AngularJS application, which goes beyond code management and into managing the states that exist within the code.

note the route doesn't actually fire unless you navigate to index.html#/ instead of index.html (see comments)

angularjs tutorial about AngularJS Architecture: Using ui-router's named views

AngularJS Architecture: Using ui-router's named views

8:03 angularjs PRO

We'll take a deeper look at ui-router as we introduce named views into Eggly. We will take the basic state that we defined in the previous video and refactor it so that it consists of two unique views within the application.

angularjs tutorial about AngularJS Architecture: ui-router state params for sharing information

AngularJS Architecture: ui-router state params for sharing information

4:53 angularjs PRO

Let's learn how to pass information from one state to another within Eggly. We learn how to define a state so that it has parameters in its definition and then read those parameters using the $stateParams service.

angularjs tutorial about AngularJS Architecture: navigating between states with ui-router

AngularJS Architecture: navigating between states with ui-router

5:00 angularjs PRO

Now that we have ui-router states in our Angular application, we can discuss the three ways to activate a state within ui-router. We will programmatically activate a state using $state.go and capture user interactions with the ui-sref directive.

angularjs tutorial about AngularJS Architecture: Prefer the 'controller as' syntax

AngularJS Architecture: Prefer the 'controller as' syntax

5:02 angularjs PRO

As of Angular 1.2, the use of $scope injectable has been greatly reduced in favor of the "controller as syntax". We are going to take a quick look at cleaning up Eggly to follow this best practice.

angularjs tutorial about AngularJS Architecture: Refactor to a data model

AngularJS Architecture: Refactor to a data model

5:53 angularjs PRO

Let's continue to refactor Eggly by introducing a valuable concept known as model promotion. We will start to extract the categories and bookmarks collections from the MainCtrl and promote them to their respective models. We will then learn how to consume those models at the controller level to populate the view.

angularjs tutorial about AngularJS Architecture: Using $http to load JSON data

AngularJS Architecture: Using $http to load JSON data

7:21 angularjs PRO

Now let's learn how use the $http service to make requests to remote servers. In our case, we will load the data from JSON files and then make them available in our controllers. We will see a few techniques that I frequently use to make working with $http data a lot more convenient.

angularjs tutorial about AngularJS Architecture: Control your promises with $q

AngularJS Architecture: Control your promises with $q

6:26 angularjs PRO

Learn how to manually control how asynchronous requests are handled with the use of promises. Because $http is built to work with promises, we saw a foreshadow of them in the previous lesson. We will take this a step further but seeing how to manually create a promise and then resolve or reject it as we see fit.

angularjs tutorial about AngularJS Architecture: Edit and Create Bookmark States

AngularJS Architecture: Edit and Create Bookmark States

12:09 angularjs PRO

In this lesson, we continue to dig into ui-router while doing some significant refactoring to our Eggly application.

We will start out by removing MainCtrl entirely from the application as we start to move functionality to more appropriate places with the application. We will build out the edit and create sub-modules to include the states and controllers for editing and creating a bookmark. With our states defined, will leverage them to manage our view instead of the ng-if statements we were previously using. We tie it all together by using CategoriesModel to track the current category and provide functionality to the BookmarksListCtrl.

We cover a lot of material in this lesson as we start to apply the concepts covered previously to finalize functionality in the application.

angularjs tutorial about AngularJS Architecture: Create Bookmark

AngularJS Architecture: Create Bookmark

6:29 angularjs PRO

In this lesson, we will complete the functionality to create a bookmark. We start by adding a createBookmark method on the BookmarksModel and then making it available to the CreateBookmarksCtrl. From there, we flesh out the CreateBookmarksCtrl and refactor the template to use the new "Controller as" syntax.

angularjs tutorial about AngularJS Architecture: Edit Bookmark

AngularJS Architecture: Edit Bookmark

12:18 angularjs PRO

In this lesson, we are going to complete the functionality for editing a bookmark. We will start by augmenting the BookmarksModel and then updating the controller and view to utilize the new functionality. We will also update the BookmarksModel.getBookmarks to cache the bookmarks so that we are not overwriting our updates on every call.

angularjs tutorial about AngularJS Architecture: Delete Bookmark

AngularJS Architecture: Delete Bookmark

2:10 angularjs PRO

In this lesson, we are going to complete the functionality for deleting a bookmark. Deleting a bookmark is significantly easier than creating or editing a bookmark with the essence being a single method in the BookmarksModel that we make available to the controller and view.

angularjs tutorial about AngularJS Architecture: Animate state transitions with ui-router

AngularJS Architecture: Animate state transitions with ui-router

3:46 angularjs PRO

In this lesson, we are going to learn how easy it is to animate ui-router state changes using ngAnimate and about 10 lines of CSS.

angularjs tutorial about AngularJS Architecture: Review

AngularJS Architecture: Review

3:44 angularjs PRO

In this lesson, we review the high level concepts that we covered over the course of this series including file structure, sub-modules, data models, ui-router and animations.

angularjs tutorial about New in Angular 1.3 - Stateless Filters

New in Angular 1.3 - Stateless Filters

3:50 angularjs PRO

Filters in AngularJS can be a big performance hog. As of Angular 1.3, filters are "stateless" by default. This means that given the same input, a filter will not even run, and simply return the previous value.

angularjs tutorial about New in Angular 1.3 - $scope.$watchGroup

New in Angular 1.3 - $scope.$watchGroup

2:42 angularjs

With Angular 1.3 you now have access to $scope.$watchGroup. This allows you to monitor an array of expressions for change. This is useful when you want to perform the some logic when any item in a group changes.

angularjs tutorial about Using AngularJS interceptors with $http

Using AngularJS interceptors with $http

7:05 angularjs

Sometimes you might need to modify HTTP requests and responses. This could be for a variety of reasons such as adding global logic handling for HTTP errors. With interceptors, you can easily accomplish this in your Angular applications.

angularjs tutorial about New in Angular 1.3 - Bind Once

New in Angular 1.3 - Bind Once

5:33 angularjs PRO

AngularJS's two-way binding is one of the "killer features" of the framework. The problem is that too many bindings can cause performance issues! Many times, all you need to do is bind a single time to get the data to display, and don't need dynamic two-way binding. In Angular 1.3, they've added new syntax to enable one-time data bindings.

angularjs tutorial about New in Angular 1.3 - $q constructor

New in Angular 1.3 - $q constructor

2:52 angularjs PRO

In AngularJS 1.3 there is a nice shorthand for $q.defer(). In fact, it removes the need for calling defer at all!

angularjs tutorial about Introduction to ng-messages for AngularJS

Introduction to ng-messages for AngularJS

4:13 angularjs

ng-messages is a directive added in AngularJS 1.3 that is used to display messages to the user. This is usually in relation to form error messages, and cleans up the syntax required to show feedback messages to the user.

angularjs tutorial about Reusing and Overriding ng-messages

Reusing and Overriding ng-messages

2:39 angularjs

One really handy trick with angular's ng-messages module is the ability to reuse messages with ease. With reuse comes the need to override messages for specific use cases.

angularjs tutorial about Using ng-messages with ng-animate

Using ng-messages with ng-animate

4:48 angularjs PRO

ngMessages works great with AngularJS's ngAnimate and makes the appearance of your messages more awesome.

angularjs tutorial about New in Angular 1.3: ng-model-options updateOn and debounce

New in Angular 1.3: ng-model-options updateOn and debounce

3:35 angularjs PRO

Now in Angular 1.3 you can cause updates to your ngModels to only occur for a given even (blur, focus, click, etc);

Debouncing means that only 1 action will be registered within a specific time. This is handy for text inputs, where an action triggers a process (such as asynchronous search). ngModelOptions allows you to debounce your ngModel inputs in AngularJS apps.

angularjs tutorial about Using ng-aria to automatically improve your AngularJS accessibility

Using ng-aria to automatically improve your AngularJS accessibility

5:15 angularjs

Accessibility is an often overlooked essential feature of a web application. a11y Is a critical component of your AngularJS application. It should be considered early in an applications life. The ng-aria module gets you started quickly, adding instant upgrades to your Angular app's accessibility.

Want to learn more about accessibility and AngularJS? Check out this great talk: AngularJS Accessibility by Marcy Sutton at ng-europe 2014

angularjs tutorial about New in Angular 1.3: Updates to forms

New in Angular 1.3: Updates to forms

1:06 angularjs PRO

With the release of AngularJS 1.3, we get some handy additions to forms, including a submitted state and the ability to bind input field names to an expression.

angularjs tutorial about Using Services in Angular Directives

Using Services in Angular Directives

5:19 angularjs

Directives have dependencies too, and you can use dependency injection to provide services for your directives to use.

angularjs tutorial about New in Angular 1.3 - bindToController

New in Angular 1.3 - bindToController

4:10 angularjs PRO

If you are using the "controller as" syntax, and you should be using the "controller as" syntax, you will want it to be consistent in your Angular state modules as well as your Angular component directives. With the bindToController property on the directive definition object, this is easy to accomplish.

angularjs tutorial about New in Angular 1.3 - Performance Boost with debugInfoEnabled

New in Angular 1.3 - Performance Boost with debugInfoEnabled

2:01 angularjs PRO

By default, Angular provides a lot of debug information on the DOM that's only necessary for tools like Protractor and Batarang. Angular 1.3 allows you to turn off the debug information to give your app a simple performance boost.

angularjs tutorial about Using ngModelOptions to Update on Blur

Using ngModelOptions to Update on Blur

2:56 angularjs

How do you change a text input from updating on every key stroke? With ngModelOptions it is really easy to control what event triggers the model update. In this lesson, we will modify a text input to update on blur instead of key up.

angularjs tutorial about Consistency between ui-router states and Angular directives

Consistency between ui-router states and Angular directives

4:40 angularjs PRO

ui-router's states and AngularJS directives have much in common. Let's explores the similarities between the two and how these patterns have emerged in Angular. Keeping your states and directives consistent can also help with refactoring as your app grows larger over time.

angularjs tutorial about Angular Automation: Introduction to Gulp

Angular Automation: Introduction to Gulp

4:26 angularjs

Angular projects require automation. Period.

In this series we will take a look at Gulp. Gulp is a task runner. It is the commander of our army of helper robots that take critical, yet totally mundane, tasks and perform them hundreds of times per day so we don't have to. When we sit down to work, we want to enter a single command, and then spend the rest of our day writing code, testing, and basically not thinking about how it is all glued together in the background.

Automation is critical to any project of significant size. We will start with the Eggly Bookmarks application, and develop proper build automation that will include production ready tools that you can start using in your applications today!

angularjs tutorial about Angular Automation: Installing Gulp Globally and Locally

Angular Automation: Installing Gulp Globally and Locally

4:24 angularjs PRO

In this lesson, we learn how to get up and running with Gulp by initializing our project with
npm
init
and
then installing the Gulp CLI globally and then installing it locally to our project. We finish the lesson off by creating our first Gulp file and running our first Gulp task.

angularjs tutorial about Angular Automation: Gulp Tasks

Angular Automation: Gulp Tasks

3:45 angularjs PRO

In this lesson, we will learn how tasks work in Gulp. We will talk about how to define a task and what each parameter in the definition does. We will see how task dependencies work and talk about how to handle asynchronous issues using run-sequence.

angularjs tutorial about Angular Automation: Copy Assets with Gulp

Angular Automation: Copy Assets with Gulp

5:13 angularjs PRO

In this lesson, we are going to learn how to copy assets from one place to another using Gulp. This is important as you start to prepare your source files to be deployed into production. We will learn how to implement gulp.src, gulp.pipe and gulp.dest as well as the del plugin as we copy our files from the source directory into a build directory.

angularjs tutorial about Angular Automation: Gulp Inject

Angular Automation: Gulp Inject

5:10 angularjs PRO

In this lesson, we are going to learn how to use the gulp-inject plugin to sanely and efficiently manage our file references with our HTML. Manually declaring JavaScript references will quickly get out of hand as your application grows in size and complexity. The gulp-inject plugin solves this problem by taking a stream of files, converting them into string references and then injecting those references into your HTML via annotations.

angularjs tutorial about Angular Automation: Gulp Serve

Angular Automation: Gulp Serve

2:49 angularjs

In this lesson, we are going to learn how to automatically serve our project via an HTTP server using gulp-serve. Being able to serve our project from an HTTP server allows us to bypass a myriad of development issues such as loading remote source files.

angularjs tutorial about Angular Automation: Gulp Config

Angular Automation: Gulp Config

3:35 angularjs PRO

In this lesson, we are going to learn how to create a config file to store common values so that we can reuse them multiple times in our gulpfile.js. As our gulpfile.js grows in complexity, we may find that we are introducing complex and multiple file path references. By creating a gulp.config.js file, we can simplify these references and make it easier to refactor and extend in the future.

angularjs tutorial about Angular Automation: Gulp Watch

Angular Automation: Gulp Watch

5:02 angularjs PRO

In this lesson, we are going to learn how to use gulp.watch to detect local file changes and execute additional Gulp tasks. To illustrate this concept, we are also going to hook up gulp-jshint to automation lint our JavaScript as we make changes to our code.

angularjs tutorial about Getting started with $animateCss and Angular

Getting started with $animateCss and Angular

2:30 angularjs PRO

ngAnimate 1.4 introduces $animateCss which allows us to interact with css based animations through our Javascript. Learn how to get started creating animations with $animateCss.

angularjs tutorial about Sync Requests with RxJS and Angular

Sync Requests with RxJS and Angular

4:56 angularjs PRO

When you implement a search bar, the user can make several different queries in a row. With a Promise based implementation, the displayed result would be what the longest promise returns. Here we see how RxJs can be used to avoid this problem.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?