
AngularJS is a robust Single Page Application (SPA) framework that can be used to build dynamic, client-centric applications. In this course you'll learn key concepts that you need to know to get started building AngularJS applications such as controllers, scope, views, routes, factories, services and more. The course provides step-by-step walk-throughs and coding demos that you're encouraged to code along with to enhance the learning process. By the end of the course you'll understand how all of the AngularJS pieces fit together and be able to apply this knowledge to building your own custom SPAs.
Explore the big picture of single page applications with AngularJS, covering views, directives, filters, controllers, scope, modules, routing with a route provider, and reusable services, plus animations and Bootstrap integration.
Meet the instructor Dan Wahlin, a veteran web developer who runs a United States consultancy focusing on asp.net, c sharp, no js, and Angular JS, and reviews course prereqs.
Review your HTML, CSS, and JavaScript background to prepare for AngularJS. Dive into module one and explore the topics we will cover.
What's a Single Page Application (SPA) and what features does AngularJS provide to help you build SPAs? This module will explore SPA concepts and key AngularJS features, provide a Hello World sample to get you started using it quickly, and explore key components of the framework and how they work together. You'll also learn how to navigate the AngularJS documentation to find additional details about the framework.
Explore how a single page application loads views into a shell page for a fast, desktop-like experience with back-button history, routing, and data binding, using AngularJS as a full-featured framework.
Learn how to start a basic AngularJS single-page app by including the script and declaring ng-app. Use ng-model for data binding and reveal input with template expressions.
Learn to build an AngularJS hello world in brackets by creating index.html, including AngularJS, and using ng-app and ng-model to bind a name to the root scope with live updates.
Explore the AngularJS architecture by unpacking modules, routes, views, controllers, scopes, filters, directives, and services, and learn how data flows from factories to the view via the scope.
Explore AngularJS documentation on angularjs.org, learn to navigate tutorials, developer guide, and API reference, and discover how to use services like http and directives with live examples.
Explore single page applications with AngularJS, its full feature set, and core parts like modules, controllers, scope, views, and factories to jumpstart your development.
In this module you'll learn the difference between control-oriented and data-oriented programming and see how AngularJS data-binding functionality will save you time and allow you to focus on your application's data. You'll also learn about the role of views and directives and see several directives in action. Finally, you'll learn about filters and how they can be used to filter, format, and sort data in AngularJS SPA applications.
Discover data binding in AngularJS and compare control-oriented versus data-oriented programming. Bind a text box to a property like name to auto update the UI and reduce code.
Explore how AngularJS directives and data binding expressions drive dynamic views, covering ng-hide, ng-show, ng-repeat, ng-view, ng-model, and ng-app as building blocks for DOM manipulation.
Explore how directives like ng-app, ng-model, ng-hide, ng-show, ng-init, ng-click, and ng-bind drive data binding and expressions in an AngularJS app, highlighting a data-oriented approach over views.
Explore essential AngularJS directives such as ng cloak, ng switch, and ng class to manage data binding, conditional display, and dynamic styling, while preventing flicker and ensuring cross-browser compatibility.
Learn how to iterate data in AngularJS using ng-repeat to render array items in a list, with ng-init creating a names array and binding each name to a list item.
Learn to use ng-repeat in action to iterate over a collection and render name and city data from objects with binding expressions.
Explore how AngularJS built-in filters filter, format, and sort data via pipes in directives and data bindings, with currency, date, case, json, limit, and orderBy examples.
Explore AngularJS filters to format data, currency, and dates using pipes. Learn to customize formats with code, apply uppercase or lowercase, and manage order totals, names, and cities.
Learn to limit, sort, and filter data in AngularJS using limitTo and orderBy, plus filtering with ng-model and a custom CustomerFilter by the name property.
Click column headers to dynamically sort data by name, city, order total, or joined using ng-click, sortBy, reverse, and the orderBy filter to toggle ascending or descending.
Explore how views drive UI functionality in AngularJS through directives that manipulate the DOM, handle events, iterate data, and bind models. Use filters to sort and format data, reducing code.
Controllers play a critical role in the AngularJS framework. In this module you'll learn the role that controllers play, how they can be created, and how scope fits into the picture for binding data to views using a data-oriented approach. You'll also learn how to create an AngularJS module and how to add controllers into it.
Explore AngularJS architecture patterns, focusing on mvc and mvvm, and how Angular's controller and scope implement these patterns through data binding between model and view.
Controllers act as the brain for the view in AngularJS, with scope as the glue that exposes data and methods for binding and interaction, and a note on module changes.
Create an AngularJS controller to manage customers on the scope, move data from the view into the controller, and enable sorting by using sortBy, reverse, and the orderBy filter.
Learn how to attach a controller to a view with the ng-controller directive, and explore the controller as syntax for aliasing the scope and managing nested controllers.
Hook the view to the controller by adding ng-controller with the controller name, enabling data access, binding, filtering, and sorting of customers within the scope.
Refactor from scope to controller as syntax by replacing $scope with this and updating references, then compare using as syntax versus native scope, including ng repeat, especially for nested controllers.
Learn how to group controllers, routes, and other components into AngularJS modules to avoid global scope conflicts, inject dependencies, and integrate third-party modules using angular.module and square bracket syntax.
Create a custom AngularJS module named customersApp, hook it to the ng app, and load it via app.js, preparing to add a controller in the next section.
Define a module and attach controllers to it in ways, avoiding globals to leverage AngularJS machinery. Use array annotation or the dollar inject approach to protect dependency injection during minification.
Explore three options to add a controller to an AngularJS module, shifting from a global app variable to module-scoped patterns using angular.module and anonymous functions.
Learn AngularJS dependency injection techniques to survive minification. Compare the inline array approach and the controller.inject method, and see how wrapping and self-invoking keeps the global scope clean.
Explore how AngularJS uses modules, controllers, and scope to enable data binding between views and business logic, and how MVC and MVVM patterns shape the architecture.
Once you understand how to create controllers and views you need to know how to integrate routing into your Single Page Application. In this module you'll learn how to do that using the $routeProvider and see how to define routes, create route parameters, and access route parameter values. You'll also learn about the role that the ng-view directive plays in AngularJS.
Map routes to views and controllers in an AngularJS app using the ngRoute module and $routeProvider. See how navigation loads templates like customers.html with controllers and lets history manage automatically.
Learn to add routing in an AngularJS app by referencing the ngRoute module and configuring routes via the route provider, including angular_route.js from angularjs.org and declaring ngRoute as a dependency.
Copy the angular route script from code.angularjs.org (development version) into a new angular_route.js file. Reference it under scripts and add ngRoute as a dependency in your app.js to enable routing.
Configure routes in AngularJS by injecting routeProvider in the module's config after loading ngRoute, map paths to views and controllers, and use routeParams to access parameters like customerId.
Use the route provider to map routes to controllers and templates. Create a views folder with customer.html and implement an otherwise redirect to the root path.
Use the ng-view directive to mark where a loaded view appears in the shell page of a single-page AngularJS app, with options like div, data-ng-view, or an element.
Add a div as the ng-view placeholder in the shell page to enable routing. When the customers controller loads and customers.html renders, the view displays inside the shell's ng-view area.
Add another route, controller, and view for orders; read customer id via routeParams; bind orders to scope; enable navigation with a #orders link in the shell.
Learn to configure routes with the route provider and ngRoute, link views to controllers, and use route parameters to pass data between controllers in AngularJS.
Factories and services can be used to encapsulate re-useable code so it can be shared across application components such as controllers and even other factories or services. In this module you'll learn about the role of factories and services, see how they can be created and added into a module, and learn the difference between the two. You'll also learn about built-in AngularJS services such as $http and see how it can be used to make Ajax calls to a back-end Node.js RESTful service.
Learn how Angular factories and services act as singletons to centralize ajax calls and shared data, using built-in options like $http and creating your own via a module.
Create and register a factory with angular.module().factory, returning a custom singleton object to share code and data across controllers. Minification-safe using explicit dependencies with $inject.
Refactor hard-coded customer data into a reusable AngularJS factory, exposing getCustomers and registering it with the app module to streamline data access.
Inject a factory into a controller to fetch customers and their orders, using init and route parameters, and bind the data to the view.
Learn how an AngularJS service acts as a singleton object, using the this keyword, how it differs from a factory, and how to inject it into controllers while considering minification.
Learn how to refactor an AngularJS factory into a service by creating customerService.js, renaming to customersService, and replacing factory usage in the controller.
Explore how to define and inject simple application values with AngularJS's value and constant, compare where they can be injected, and learn when constants can be injected into config.
Define and expose global app settings in angularjs using value and constant, centralizing title and version for access across controllers and views.
Explore making Ajax calls in AngularJS using the $http service from a factory or service, returning a promise and handling success or error callbacks in the controller.
Create a restful service using node and express, expose a /customers API on port 8080, load hardcoded data, and test locally.
Use the Angular $http service in a customer factory to perform AJAX requests to a RESTful service, returning promises for the controller to handle success and error when fetching customers.
Wire promises from the factory into success and error callbacks in AngularJS controllers. Convert getCustomers and getCustomer to asynchronous calls via restful service and HTTP service, binding results to scope.
Learn to use AngularJS's $log service to capture and display server errors, log data and status, set a breakpoint, and substitute for console.log during testing.
Learn how factories, services, values, and constants work in AngularJS applications, how modules organize these components, and singletons store reusable tasks that can be injected into controllers or other services.
Learn how to enhance the user interface with Bootstrap CSS classes and AngularJS animations to add a professional look and feel. Different options for defining animations will be discussed including CSS transitions and animations with a focus on transitions in the code.
Enhance the AngularJS UI by integrating Bootstrap across the shell and orders view, adding a header with nav, and leveraging controllers, views, routes, and filters for a polished interface.
Add Bootstrap via a CDN, apply Bootstrap nav and table classes, and use ng-class to color orders by total. Implement delete customer with a controller and factory, with server-side Json.
Explore integrating animations with AngularJS directives using the ngAnimate module to create enter, leave, and move effects for ngView, ngRepeat, ngShow, and ngHide, via css animations.
Explore css animations in AngularJS with ngAnimation, including transitions, keyframes, and slide-in view effects, plus ready-made examples from animate.css and live plunker demos.
Learn to enable animations in angularjs by loading the ngAnimate script after angular.js, registering ngAnimate as a module dependency, and linking css with directives to activate animation features.
Add the ngAnimate module by including the angular-animate script from code.angularjs.org, then wire the ngAnimate module in AppJS and the shell to enable animations in AngularJS directives.
Define animations in css using transitions or keyframes, compare browser support, and apply on angular directives with ng-enter and ng-leave, including slide-in and fade-out effects.
Create a dedicated animations stylesheet and reference it in your index, then implement ng-enter, ng-leave, and move animations with active states to slide, fade, and reorder list items.
Learn how to attach CSS animation classes to AngularJS directives like ng-class, ng-view, ng-repeat, ng-show, and ng-hide to create smooth transitions and fade in/out during filtering.
Hook directives to animations by applying slide and repeat CSS classes to elements, enabling smooth slide-in transitions and fade effects during filtering and data changes.
Enable animations in AngularJS by loading the angular animate script and ngAnimate, leveraging directives like ng-view and ng-show to create smooth transitions and a polished UI with Bootstrap styling.
Several people have asked if I could include videos covering the basics of building custom AngularJS directives. I'm happy to include 2 full sections from the AngularJS Custom Directives course (also on Udemy) that will help you get started!
Explore the role of directives in AngularJS, learn core concepts like the directive definition object and compile provider, and build a simple hello world directive to start.
Discover how AngularJS directives attach behavior to DOM elements, enabling DOM manipulation, data binding, events, and styling. Learn the process to create directives, and review built-ins while planning custom ones.
Create a simple hello world directive in AngularJS by defining a module and directive, and returning a directive definition object with a template that outputs hello world.
Explore three directive categories in AngularJS—dom driven, data driven, and behavior driven—and learn the four directive types: attribute, element, css class, and comment based.
Explore the core building blocks of Angular directives, including the directive definition object and the compile provider. Learn how templates, scope, isolate scope, controllers, and link functions render dynamic HTML.
Explore how directives—built-in, third-party, and custom—manipulate the dom, render html, and handle events, using the compile provider and directive definition object to define templates and controllers.
Several people have asked if I could include videos covering the basics of building custom AngularJS directives. I'm happy to include 2 full sections from the AngularJS Custom Directives course (also on Udemy) that will help you get started!
Explore the difference between shared and isolate scope in AngularJS directives, and learn how act, equals, and ampersand local scope properties enable reusable, concise directive design.
Explore the difference between shared and isolate scope in AngularJS and how to use local scope properties to pass data and communicate with directives.
Compare shared scope and isolate scope in AngularJS directives, examining inherited data bindings versus a truly isolated scope, and learn how to expose data from the outside world with bindings.
Learn how to punch a hole through an AngularJS directive's isolated scope using the at binding to pass a string value in a one-way binding from the parent scope.
Demonstrate passing values into an isolate scope directive using the @ local scope property, including string binding, literal values, and object handling through data binding.
Explore the equals local scope property in AngularJS, enabling two way binding of strings or objects between a directive and the outer scope.
Explore the equals local scope property to enable two-way data binding in a directive by binding a data source object with name and street.
Explore the ampersand local scope property in AngularJS directives, enabling the parent scope to pass a callback function into an isolated scope and invoke it from the directive.
Learn to use the ampersand local scope property to pass a function into an AngularJS directive, invoke it on events, and wire a callback to notify the outer scope.
Explore the link function for dom manipulation in AngularJS directives, focusing on dom driven techniques, jq lite, and wiring the directive definition object to scope, element, and attributes.
Explore jq lite, a subset of jQuery in AngularJS, and the link function in a directive. Learn to handle click and mouse events and update HTML or CSS.
Discover how to use AngularJS directive isolate scope with at, equals, and ampersand bindings to pass values, objects, and functions between a directive and its outer scope.
** Updated with new articles and bonus videos about getting started building custom Angular directives! **
Please note that this course covers version 1.x of AngularJS. This course does not cover Angular development (which is different than AngularJS).
There are many AngularJS courses on the Web now. Which one should you take? If you're looking to quickly grasp the core concepts of AngularJS 1.x with hands-on examples and want to learn from a developer/instructor with over 20 years of experience who has also been awarded the Angular Google Developer Expert (GDE) award from Google then this is the course for you! Dan also created the popular AngularJS in 60-ish Minutes video on YouTube (over 1.9 million views) so if you enjoyed that then you'll love this course!
AngularJS is a powerful JavaScript framework that can be used to build Single Page Applications (SPAs) that run in the browser. By the time you're done with this course you'll understand how AngularJS can be used to build applications. This includes learning how to build custom controllers and re-useable services, how to bind data into views, how routing works, and also how custom animations can be used to add polish to your apps. The course even includes bonus sections on getting started building custom directives! This is a hands-on course that you can follow along with and learn by doing.
-----------------------------------
AngularJS is a robust Single Page Application (SPA) framework that can be used to build dynamic, client-centric applications that can run in desktop browsers as well as on phones and tablets. You can use AngularJS to build multi-screen applications that perform much like a desktop application but can be viewed and interacted with using a normal browser.
In this course by Google Developer Expert (GDE) Dan Wahlin you'll learn essential concepts that you need to know to get started building AngularJS applications such as controllers, scope, views, routes, factories, services and more. The course provides step-by-step walk-throughs and coding demos that you're encouraged to code along with to enhance the learning process. By the end of the course you'll understand how all of the AngularJS pieces fit together and be able to apply this knowledge to building your own custom Web applications.
The AngularJS JumpStart course is broken down into 6 modules (with additional bonus modules included) with each module providing source code so that you can follow along if you'd like.
AngularJS - The Big Picture
Views, Directives and Filters
Controllers, Scope and Modules
Routing
Services and Factories
Animation
Bonus: Getting Started Building Custom Directives
Bonus: Shared Scope, Isolate Scope, the link() Function
Bonus: Articles on Building Custom AngularJS Directives
By the end of the course you'll have walked through of all of the key components in AngularJS and built a working Single Page Application. If you're looking to "jumpstart" your AngularJS knowledge look no further than this course. It's a great technology to know and add to your resume!