AngularJS Tutorial

Angular.js is a framework for building dynamic web apps. When you know how to use AngularJS, you open up a whole new world of possibilities. Get the most out of AngularJS by following this tutorial. This step-by-step guide will teach you everything you need to know about AngularJS so you can accomplish more than you ever imagined!

Rating: 4.6

This tutorial has been designed to help you learn AngularJS as quickly as possible. Here, we are going to cover basic as well as advanced concepts with appropriate examples to give you a complete overview of AngularJS. To learn this framework, you need to have a basic knowledge of JavaScript, HTML, CSS, and web applications. Without wasting much time, let's get into the AngularJS tutorial part. 

In this Angular Js Tutorial, you will learn the below topics:

AngularJS Tutorial - Table of Contents

If you want to enrich your career and become a professional in Angular, Enroll in  "Angular Online Training" This course will help you to achieve excellence in this domain.

What is AngularJS?

AngularJS is an open-source Javascript MVC (Model, View Controller) framework that is widely employed for developing web applications. It has become one of the most popular frameworks at present due to its unique features. The AngularJS framework is mainly used to develop single-page applications.

AngularJS has got the ability to transform static HTML into a dynamic one. This framework enhances the capabilities of HTML with its built-in attributes, components and also helps in creating custom attributes using simple JavaScript.

AngularJS has been developed by a group of people at Google and it has got a large community that makes it up to date. It always comes up with new features to meet market requirements.

The biggest and in fact the true factor that contributes to the popularity is nothing but the global community support of AngularJS. Actually, many designers are working with developers and are also contributing to enhancing the overall reliability, as well as the credibility of AngularJS.

It is equipped with a unique feature, i.e., two-way data binding which makes it simple to work with. Also, AngularJS is considered a full-fledged framework. It contains many top-class features when compared to ReactJS. In addition to this, it simply prompts rendering.

[ Related Article: What Led to the Popularity of AngularJS? ]

Let's discuss the AngularJS Key Points one by one in detail:

AngularJS Environment Setup

This section deals with the concept called setting up the AngularJS Environment and also deals with various directories. To set up the environment, you need to download AngularJS. To download the AngularJS library, click here

Once you click on the above link you’ll find an option to Download AngularJS, click on it, and then it gets downloaded into your machine.

You will be displayed with the screen as shown below:

The above screen will give you two options, which are:

  1. Downloading and hosting files locally  
  2. CDN Access.

1. Download and host files locally:

  • When you opt for this, you will be provided with two options: one is legacy and the other is the latest. 
  • We can also have a chance to go along with the minimized or zipped version. 

2. CDN Access:

You can also have access to the Content Delivery Network (CDN) that will allow you to access the regional data centers. Here the CDN takes the responsibility to transfer the data between your own servers to a series of external servers. It also brings you an advantage; if a user of your site has already downloaded a copy of AngularJS from the same CDN, then there is no need to re-download it.

In this Angularjs tutorial, we will be considering CDN Versions of the library.

Example: Here we are going to discuss an example of how to create an HTML file using the AngularJS library.

<!doctype html>
      <script src = ""></script>
   <body ng-app = "app1">
      <div ng-controller = "HiController" >
         <h2>Welcome {{helloTo.title}} to the world of Mindmajix!</h2>
         angular.module("app1", [])
         .controller("HiController", function($scope) {
            $scope.helloTo = {};
            $scope.helloTo.title = "Angular";


Save the above code with the name myfirstexample.html and also, you can open it in any browser. You will be shown with the following output:

Welcome Angular to the world of Mindmajix!

[ Related Blog: Angularjs CDN Integration ]

A Program using AngularJS

Just to give a simple understanding of AngularJS, we are going to write a common “hello world” program here:

      <script language = "javascript" type = "text/javascript">
            document.write("Hello World!")

Output: Hello World!

MindMajix Youtube Channel

AngularJS Expressions

AngularJS expressions are similar to the JavaScript expressions which are enclosed within the braces,

Example- {{expression}}. The expression can also be written as “ng-bind=expression”. AngularJS expressions are mainly used to bind application data to HTML. AngularJS takes responsibility to analyze, resolve expression, and return the result exactly in the same area where you have given the expression.

AngularJS shares similar expressions like JavaScript, which are literals, operators, and variables. Let's consider an instance over here: an expression {{2/2}} will return the result 1 and it is bound to HTML.

Expression example:

<!DOCTYPE html>
<html >
    <script src=""></script>
<body >
    <h1>AngularJS Expression Demo:</h1>
<div ng-app>
        4 + 4 = {{4 + 4}} <br />
        4 - 4= {{4 - 4}} <br />
        4 * 4 = {{4 * 4}} <br />
        4/ 4 = {{4 / 4}}


4 + 4 = 8

4 - 4 = 0

4 * 4 = 16

4 / 4 = 1

AngularJS expressions are similar to JavaScript expressions but the below-mentioned reasons state the difference between them.

  1. AngularJS cannot have expressions like loops, conditions, or regular expressions. Eg: tenery, if-else, while loop, for loop, etc.
  2. AngularJS does not contain the command or void expression.
  3. It cannot declare the functions.
  4. AngularJS cannot contain the expression return keyword.

[checkout PyCharm Tutorial]

AngularJS Directives

Attributes are the markers that we use in AngularJS to extend the capabilities of HTML. AngularJS comes with a set of inbuilt directives that help the inefficient functioning of your applications. In AngularJS you can customize the directives according to the requirements of your application.

Most of the directives in AngularJS will start with ng-. ng stands for AngularJS.

The below-mentioned table contains a list of important built-in AngularJS directives.

ng-initInitializes AngularJS variables
ng-appAuto bootstrap AngularJS application
ng-controllerAttaches the controller of MVC to the view.
ng-modelBinds HTML control’s value to a property
ng-bindIt replaces the HTML value with the specified AngularJS expression
ng-showIt displays the elements based on the values of the specified expression.
ng-repeatRepeats the HTML template once per item.
ng-read onlyIt makes HTML element read-only based on the specified expression
ng-ifRemoves and re-creates the HTML element based on the given expression
ng-disabled It sets the disabled attribute on the HTML element if the specified expression is true.
ng-clickDisplays custom behavior when you click on an element

Scope in AngularJS

  • The $scope is an in-built object in AngularJS which has application methods and data. Here, you can have a chance to add properties to a $scope object inside a controller function and allot that with a function or value to it.  
  • The $scope acts as a bridge between controller and view (HTML). It transfers the data from the controller to the view and vice versa.
  • Using AngularJS, one can create and inject various scope objects attached to each controller in an application. So, the data and objects in one controller are quite different from others. So, one cannot access other applications.

[ Related Article: Why Should You Consider a Career Shift to AngularJS? ]

AngularJS Events

AngularJS has its own HTML event directories in developing its advanced applications. 

Using one or more of the below-mentioned directives, you can add AngularJS event listeners to your HTML. These directives allow users to run AngularJS functionalities at user events. 

<!– Row 1 –><!– Col 1 –><!– Col 2 –><!– Row 2 –><!– Col 1 –><!– Col 2 –><!– Row 3 –><!– Col 1 –><!– Col 2 –><!– Row 4 –><!– Col 1 –><!– Col 2 –><!– Row 5 –><!– Col 1 –><!– Col 2 –><!– Row 6 –><!– Col 1 –><!– Col 2 –><!– Row 7 –><!– Col 1 –><!– Col 2 –><!– Row 8 –><!– Col 1 –><!– Col 2 –><!– Row 9 –><!– Col 1 –><!– Col 2 –>

1. Ng-blur10. ng-change
2. ng-click11. ng-copy
3. ng-cut12. ng-dblclick
4. ng-focus13. ng-key down
5. ng-keypress14. ng-key up
6. ng-mouse down15. ng-mouseenter
7. ng-mouse leave16. ng-mousemove
8. ng-mouseover17. ng-mouse up
9. ng-paste 

AngularJS Services

AngularJS services are the Javascript functions for executing particular tasks that are re-usable throughout the application. It consists of services that serve various purposes. For example, the $http service helps in sending an AJAX request to the remote server. You can use angularJS to create a custom service for your application.

The majority of the services in AngularJS make interactions with the model, controller, and custom directives. There are some services that interact with the view (UI) for user-specific tasks.

The following table lists all the built-in AngularJS services:


AngularJS Filters

  • Filters are used in AngularJS to format data. AngularJS format allows us to format data and display information on UI without making any modifications to the original format.
  • Filters can be used with a directive or expression using pipe | sign as shown below.

{{expression | filterName:parameter }}

The below table contains the list of important Filters:

Filter nameDescription
currencyFormat a number to a currency format 
FilterSelects a  subset of items from an array
Lowercase Converts string into lowercase
DateFormates data into a specified format
UppercaseConverts string into uppercase
JSONConverts JavaScript object into JSON string
NumberFormates the numeric data with fractions and comma

AngularJS Controllers

AngularJS applications are mainly dependent on the controllers to control the flow of data in an application. The n-g controller directive is used to define a controller. A controller contains functions and attributes/properties. $scope acts as a parameter for each controller.

Learn AngularJS Interview Questions and Answers that help you grab high-paying jobs

AngularJS Factories

AngularJS factories are used for different things such as server-side communication via HTTP, to make changes across the controller, and to abstract models to persist the application state.  Angular factories help in creating reusable code blocks and features throughout an application.

AngularJS Routing

Using AngularJS, we can build a Single Page Application (SPA). It is a web app that loads a  single HTML page and dynamically updates the pages based on the interactions of the user with the web app.

AngularJS uses the routing module, ngRoute, to support SPA. The routing model works based on the URL. Whenever a user requests a specific URL, the routing engine catches that URL and renders the view based on the predefined routing principles.

[Related Article: Thymeleaf vs Angular]

Testing and Workflow

Providing a framework for writing unit-testable code has been a core AngularJS goal from its first release. AngularJS includes an elegant and sophisticated dependency injector, and all AngularJS components (controllers, directives, services, and filters) are constructed using the dependency injector. This ensures that your code’s dependencies are easy to stub out as necessary for your tests.

Furthermore, the AngularJS team has developed numerous powerful testing tools such as the Karma test runner, the protractor, and ng scenario integration testing frameworks. These bring the sophisticated multi-browser testing infrastructure that was previously feasible only for large companies into the hands of individual developer.

In addition, AngularJS’s architecture and testing tools interface nicely with various open-source JavaScript build and workflow tools such as Gulp and Grunt. With these tools, you can execute your tests seamlessly, tie in tools like code coverage and linting into your test execution, and even scaffold entirely new applications from scratch.

Core AngularJS is just a library, but the testing and workflow tools surrounding it make the AngularJS ecosystem as a whole an innovative new paradigm for building browser-based clients. AngularJS training classes include a more detailed discussion of the AngularJS testing ecosystem and the different types of testing strategies you can use for your AngularJS applications.

[ Check out Six Figure Pay With AngularJS Certification ]

Applications of AngularJS

Below-mentioned is the general features of AngularJS:

  • It is an efficient internet framework that helps in creating a Rich Internet Application (RIA)
  • In AngularJS, developers can use the Model View Controller (MVC) way to write client-side applications.
  • AngularJS is multi-browser compliant. It automatically handles the JavaScript code suitable for each browser.


Finally, we have come to the end of the AngularJS tutorial. I hope this blog has provided you with complete knowledge of all the topics of AngularJS. Now, you must have a clear idea about the building blocks of AngularJS and how it works. If you come across any difficulty in this tutorial or if you feel like sharing anything with us that could benefit the readers, feel free to comment on the below comment section and we will respond at the earliest.

Course Schedule
Angular TrainingJul 27 to Aug 11View Details
Angular TrainingJul 30 to Aug 14View Details
Angular TrainingAug 03 to Aug 18View Details
Angular TrainingAug 06 to Aug 21View Details
Last updated: 08 Jan 2024
About Author

Vinod M is a Big data expert writer at Mindmajix and contributes in-depth articles on various Big Data Technologies. He also has experience in writing for Docker, Hadoop, Microservices, Commvault, and few BI tools. You can be in touch with him via LinkedIn and Twitter.

read less