AngularJS Training
Course duration
- 3 Days
Course Outline
The AngularJS framework has become a popular JavaScript framework for the development of "single page" Rich Internet Applications. The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop and test because there is a separation of responsibilities within the code. Although there are many benefits to using the AngularJS framework it is fairly different than the way "typical" web applications involving JavaScript have been designed. This AngularJS training class will provide an introduction to the benefits of AngularJS, so participants can start to develop responsive applications quickly using the framework.
- Create single page web applications using the MVC pattern of AngularJS.
- Understand the programming model provided by the AngularJS framework.
- Define Angular controllers and directives.
- Control Angular data bindings.
- Implement Responsive Web Applications with AngularJS.
- Some prior understanding of web development, HTML, Ajax, and JavaScript.
- Advanced Objects and Functionality in JavaScript
- Basic Objects
- Constructor Function
- More on the Constructor Function
- Object Properties
- Deleting a Property
- The instanceof Operator
- Object Properties
- Constructor and Instance Objects
- Constructor Level Properties
- Namespace
- Functions Are First-Class Objects
- Closures
- Closure Examples
- Private Variables with Closures
- Immediately Invoked Function Expression (IIFE)
- Prototype
- Inheritance in JavaScript
- The Prototype Chain
- Traversing Prototype Property Hierarchy
- Prototype Chain
- Inheritance Using Prototype
- Extending Inherited Behavior
- Enhancing Constructors
- Improving Constructor Performance
- Inheritance with Object.create
- The hasOwnProperty Method
- Introduction to AngularJS
- What Is AngularJS?
- Why AngularJS?
- Scope and Goal of AngularJS
- Using AngularJS
- A Very Simple AngularJS Application
- Building Blocks of an AngularJS Application
- Use of Model View Controller (MVC) Pattern
- A Simple MVC Application
- The View
- The Controller
- Data Binding
- Basics of Dependency Injection (DI)
- Other Client Side MVC Frameworks
- AngularJS Module
- What Is a Module?
- Benefits of Having Modules
- Life Cycle of a Module
- The Configuration Phase
- The Run Phase
- Module Wide Data Using Value
- Module Wide Data Using Constant
- Module Dependency
- Using Multiple Modules in a Page
- AngularJS Controllers
- Controller Main Responsibilities
- About Constructor and Factory Functions
- Defining a Controller
- Using the Controller
- Controller Constructor Function
- More About Scope
- Example Scope Hierarchy
- Using Scope Hierarchy
- Modifying Objects in Parent Scope
- Modified Parent Scope in DOM
- Handling Events
- Another Example for Event Handling
- Storing Model in Instance Property
- AngularJS Expressions
- Expressions
- Operations Supported in Expressions
- AngularJS Expressions vs JavaScript Expressions
- AngularJS Expressions Are Safe to Use!
- What Is Missing in Expressions
- Considerations for Using src and href Attributes in Angular
- Examples of ng-src and ng-href Directives
- Basic View Directives
- Introduction to AngularJS Directives
- Controlling Element Visibility
- Adding and Removing an Element
- Dynamically Changing Style Class
- The ng-class Directive
- Example Use of ng-class
- Setting Image Source
- Setting Hyperlink Dynamically
- Preventing Initial Flash
- Advanced View Directives
- The ng-repeat Directive
- Example Use of ng-repeat
- Dynamically Adding Items
- Special Properties
- Example: Using the $index Property
- Scope and Iteration
- Event Handling in Iterated Elements
- The ng-switch Directive
- Example Use of ng-switch
- Inserting External Template using ng-include
- Working with Forms
- Forms and AngularJS
- Scope and Data Binding
- Role of a Form
- Using Input Text Box
- Using Radio Buttons
- Using Checkbox
- Using Checkbox - Advanced
- Using Select
- Using Select – Advanced
- Disabling an Input
- Reacting to Model Changes in a Declarative Way
- Example of Using the ng-change Directive
- Formatting Data with Filters in AngularJS
- What Are AngularJS Filters?
- The Filter Syntax
- Angular Filters
- More Angular Filters
- Using Filters in JavaScript
- Using Filters
- A More Complex Example
- The date Filter
- The date's format Parameter
- Examples of Using the date Filter
- The limitTo Filter
- Using limitTo Filter
- Filter Performance Considerations
- AngularJS $watch Scope Function
- The $watch Function
- The $watch Function Signature
- The $watch Function Details
- Canceling the Watch Action
- Example of Using $watch
- Things to be Aware Of
- More Things to Be Aware Of
- Performance Considerations
- Speeding Things Up
- Communicating with Web Servers
- The $http AngularJS Service
- The Promise Interface
- The $http Service
- $http Function Invocation
- Callback Parameters
- Request Configuration Properties
- Shortcut Methods
- Complete List of Shortcut Methods
- Using $http.get()
- Working with JSON Response
- Using $http.post()
- Combining $http Post Request Data with Url Parameters
- The then() Method of the Promise Object
- The Response Object
- Making Parallel Web Service Calls
- Combining Multiple Promises into One
- Wait for the Combined Promise
- Setting Up HTTP Request Headers
- Caching Responses
- Disabling Caching in IE9
- Setting the Request Timeout
- Unit Testing with ngMock
- Writing Unit Tests
- Custom Directives
- What Are Directives?
- Directive Usage Types
- Directive Naming Convention
- Defining a Custom Directive
- Using the Directive
- Scope of a Directive
- Isolating Scope
- Example Scope Isolation
- Using External Template File
- Manipulating a DOM Element
- The Link Function
- Event Handling from a Link Function
- Wrapping Other Elements
- Accepting a Callback Function
- Supplying Callback Function
- AngularJS Services
- Introduction to Services
- Defining a Service
- The factory() Method Approach
- The service() Method Approach
- The provider() Method Approach
- Using a Service
- Configuring a Service using its Provider
- Introduction to Single Page Applications (spa)
- What Is a Single Page Application (SPA)?
- Why Create SPA?
- Challenges to SPA
- Implementing SPA Using AngularJS
- Simple SPA Using Visibility Control
- Dynamic Templates Using ng-include
- SPA Using the $route service
- The Routing Service
- What does the $route Service Do?
- When to use $route Service?
- Understanding the $location Service
- Setting up a Route Table
- Navigation Control
- Getting Route Parameters
- Bookmarking and history
- Adding Dependency to Routes
- Advanced Forms
- Basic form validation
- Validation based on input types
- Advanced form validation
- Monitoring validation status
- Styling elements based on validation status
- Showing specific error messages
- Deferring validation error messages
- Advanced Promise Api
- Basics of the promise API
- $http and Promise
- Waiting for multiple $http Calls
- Caching a $http Call in memory
- Caching a $http Call in localStorage
- Unit Test Using Jasmine
- Introduction to Node.js
- What Is Jasmine?
- Running Jasmine
- Jasmine Folder Structure
- Running Tests
- Example Explained
- End-to-End Testing with Protractor
- Writing E2E Test with Protractor
InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).
InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)
For an overall view of our offerings, please visit us at www.intersource.ch.