angularjs_tutorial

angularjs_tutorial, updated 9/8/18, 2:29 PM

personedocr
collectionsBusiness Ideas
visibility225

Business planning ideas from around the internet.

Publishing documents on edocr is a proven way to start demand generation for your products and services. Thousands of professionals and businesses publish marketing (brochures, data sheets, press releases, white papers and case studies), sales (slides, price lists and pro-forma agreements), operations (specifications, operating manuals, installation guides), customer service (user manuals) and financial (annual reports and financial statements) documents making it easier for prospects and customers to find content, helping them to make informed decisions. #SEO #leadgen #content #analytics

About edocr

I am an accomplished content marketing professional helping you to build your brand and business. In my current role, I fulfill a multi-faceted solution marketplace including: publishing and sharing your content, embedding a document viewer on your website, improving your content’s search engine optimization, generating leads with gated content and earning money by selling your documents. I gobble up documents, storing them for safekeeping and releasing the text for excellent search engine optimization, lead generation and earned income. 

Publishing documents on edocr.com is a proven way to start demand generation for your products and services. Thousands of professionals and businesses publish marketing, sales, operations, customer service and financial documents making it easier for prospects and customers to find content, helping them to make informed decisions.

Get publishing now!

Tag Cloud

I
AngularJS
i
About the Tutorial
AngularJS is a very powerful JavaScript library. It is used in Single Page Application
(SPA) projects. It extends HTML DOM with additional attributes and makes it more
responsive to user actions. AngularJS is open source, completely free, and used by
thousands of developers around the world. It is licensed under the Apache license
version 2.0.
Audience
This tutorial is designed for software professionals who want to learn the basics of
AngularJS and its programming concepts in simple and easy steps. It describes the
components of AngularJS with suitable examples.
Prerequisites
You should have a basic understanding of JavaScript and any text editor. As we are
going to develop web-based applications using AngularJS, it will be good if you have
an understanding of other web technologies such as HTML, CSS, AJAX, etc.
Disclaimer & Copyright
Copyright 2014 by Tutorials Point (I) Pvt. Ltd.
All the content and graphics published in this e-book are the property of Tutorials
Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy,
distribute or republish any contents or a part of contents of this e-book in any
manner without written consent of the publisher.
We strive to update the contents of our website and tutorials as timely and as
precisely as possible, however, the contents may contain inaccuracies or errors.
Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness
or completeness of our website or its contents including this tutorial. If you discover
any errors on our website or
in this tutorial, please notify us at
contact@tutorialspoint.com
AngularJS
ii
Table of Contents
About the Tutorial i
Audience i
Prerequisites i
Disclaimer & Copyright i
Table of Contents ii
1. OVERVIEW 1
General Features 1
Core Features 1
Concepts 2
Advantages of AngularJS 3
Disadvantages of AngularJS 4
AngularJS Directives 4
2.
ENVIRONMENT 5
3. MVC ARCHITECTURE 9
The Model 10
The View 10
The Controller 10
4.
FIRST APPLICATION 11
Creating AngularJS Application 11
Executing AngularJS Application 11
How AngularJS Integrates with HTML 13
5.
DIRECTIVES 14
ng-app directive 14
ng-init directive 14
ng-model directive 15
AngularJS
iii
ng-repeat directive 15
6.
EXPRESSIONS 17
7.
CONTROLLERS 19
8.
FILTERS22
Uppercase Filter 22
Lowercase Filter 22
Currency Filter 22
Filter23
OrderBy Filter 23
9.
TABLES 27
10. HTML DOM 31
ng-disabled Directive 31
ng-show Directive31
ng-hide Directive 31
ng-click Directive 32
11. MODULES 34
Application Module 34
Controller Module 34
Use Modules 35
12. FORMS 39
Events 39
ng-click 39
Validate Data40
13. INCLUDES44
14. AJAX 48
AngularJS
iv
15. VIEWS 52
ng-view Directive52
ng-template Directive 52
$routeProvider Service 53
16. SCOPES 57
Scope Inheritance 57
17. SERVICES 61
Using Factory Method 61
Using Service Method61
18. DEPENDENCY INJECTION64
Value64
Factory 65
Service65
Provider 66
Constant67
19. DIRECTIVES 70
ng-app directive 70
ng-init directive 70
ng-model directive 71
ng-repeat directive 71
20. INTERNALIZATION 73
Example Using Danish Locale 73
Example Using Browser Locale74
AngularJS
v
AngularJS is an open-source web application framework. It was originally developed
in 2009 by Misko Hevery and Adam Abrons. It is now maintained by Google. Its latest
version is 1.2.21.
Definition of AngularJS as put by its official documentation is as follows:
AngularJS is a structural framework for dynamic web applications. It lets you
use HTML as your template language and lets you extend HTML's syntax to
express your application components clearly and succinctly. Its data binding
and dependency injection eliminate much of the code you currently have to
write. And it all happens within the browser, making it an ideal partner with any
server technology.
General Features
The general features of AngularJS are as follows:
AngularJS is a efficient framework that can create Rich Internet Applications
(RIA).
AngularJS provides developers an options to write client side applications using
JavaScript in a clean Model View Controller (MVC) way.
Applications written in AngularJS are cross-browser compliant. AngularJS
automatically handles JavaScript code suitable for each browser.
AngularJS is open source, completely free, and used by thousands of
developers around the world. It is licensed under the Apache license version
2.0.
Overall, AngularJS is a framework to build large scale, high-performance, and easy-
to-maintain web applications.
Core Features
The core features of AngularJS are as follows:
Data-binding: It is the automatic synchronization of data between model and
view components.
1. OVERVIEW
AngularJS
vi
Scope: These are objects that refer to the model. They act as a glue between
controller and view.
Controller: These are JavaScript functions bound to a particular scope.
Services: AngularJS comes with several built-in services such as $http to
make a XMLHttpRequests. These are singleton objects which are instantiated
only once in app.
Filters: These select a subset of items from an array and returns a new array.
Directives: Directives are markers on DOM elements such as elements,
attributes, css, and more. These can be used to create custom HTML tags that
serve as new, custom widgets. AngularJS has built-in directives such as
ngBind, ngModel, etc.
Templates: These are the rendered view with information from the controller
and model. These can be a single file (such as index.html) or multiple views in
one page using partials.
Routing: It is concept of switching views.
Model View Whatever: MVW is a design pattern for dividing an application
into different parts called Model, View, and Controller, each with distinct
responsibilities. AngularJS does not implement MVC in the traditional sense,
but rather something closer to MVVM (Model-View-ViewModel). The Angular
JS team refers it humorously as Model View Whatever.
Deep Linking: Deep linking allows to encode the state of application in the
URL so that it can be bookmarked. The application can then be restored from
the URL to the same state.
Dependency Injection: AngularJS has a built-in dependency injection
subsystem that helps the developer to create, understand, and test the
applications easily.
Concepts
The following diagram depicts some important parts of AngularJS which we will
discuss in detail in the subsequent chapters.
AngularJS
vii

Advantages of AngularJS
The advantages of AngularJS are:

It provides the capability to create Single Page Application in a very clean and
maintainable way.

It provides data binding capability to HTML. Thus, it gives user a rich and
responsive experience.
AngularJS code is unit testable.
AngularJS uses dependency injection and make use of separation of concerns.
AngularJS provides reusable components.
AngularJS
viii
With AngularJS, the developers can achieve more functionality with short code.

In AngularJS, views are pure html pages, and controllers written in JavaScript
do the business processing.
On the top of everything, AngularJS applications can run on all major browsers and
smart phones, including Android and iOS based phones/tablets.
Disadvantages of AngularJS
Though AngularJS comes with a lot of merits, here are some points of concern:
Not secure : Being JavaScript only framework, application written in
AngularJS are not safe. Server side authentication and authorization is must
to keep an application secure.
Not degradable: If the user of your application disables JavaScript, then
nothing would be visible, except the basic page.
AngularJS Directives
The AngularJS framework can be divided into three major parts:
ng-app : This directive defines and links an AngularJS application to HTML.
ng-model : This directive binds the values of AngularJS application data to
HTML input controls.
ng-bind : This directive binds the AngularJS application data to HTML tags.
AngularJS
ix
This chapter describes how to set up AngularJS library to be used in web application
development. It also briefly describes the directory structure and its contents.
When you open the link https://angularjs.org/, you will see there are two options to
download AngularJS library:
View on GitHub By clicking on this button, you are diverted to GitHub and
get all the latest scripts.
Download By clicking on this button, a screen you get to see a dialog box
shown as:
2. ENVIRONMENT
AngularJS
x
This screen offers various options for selecting Angular JS as follows:
Downloading and hosting files locally
o There are two different options : Legacy and Latest. The names
themselves are self-descriptive. The Legacy has version less than 1.2.x
and the Latest come with version 1.3.x.
o We can also go with the minimized, uncompressed, or zipped version.
CDN access: You also have access to a CDN. The CDN gives you access to
regional data centers. In this case, the Google host. The CDN transfers the
responsibility of hosting files from your own servers to a series of external
ones. It also offers an advantage that if the visitor of your web page has
already downloaded a copy of AngularJS from the same CDN, there is no need
to re-download it.
We are using the CDN versions of the library throughout this tutorial.
Example
Now let us write a simple example using AngularJS library. Let us create an HTML file
myfirstexample.html shown as below:


AngularJS
xi





Welcome {{helloTo.title}} to the world of Tutorialspoint!






Let us go through the above code in detail:
Include AngularJS
We include the AngularJS JavaScript file in the HTML page so that we can use it:



You can check the latest version of AngularJS on its official website.
Point to AngularJS app
Next, it is required to tell which part of HTML contains the AngularJS app. You can do
this by adding the ng-app attribute to the root HTML element of the AngularJS app.
You can either add it to the html element or the body element as shown below:
AngularJS
xii


View
The view is this part:

Welcome {{helloTo.title}} to the world of Tutorialspoint!



ng-controller tells AngularJS which controller to use with this view. helloTo.title tells
AngularJS to write the model value named helloTo.title in HTML at this location.
Controller
The controller part is:

This code registers a controller function named HelloController in the angular module
named myapp. We will study more about modules and controllers in their respective
chapters. The
controller
function
is
registered
in angular via
the
angular.module(...).controller(...) function call.
The $scope parameter model is passed to the controller function. The controller
function adds a helloTo JavaScript object, and in that object it adds a title field.
Execution
Save the above code as myfirstexample.html and open it in any browser. You get to
see the following output:
AngularJS
xiii
What happens when the page is loaded in the browser ? Let us see:
HTML document is loaded into the browser, and evaluated by the browser.
AngularJS JavaScript file is loaded, the angular global object is created.
The JavaScript which registers controller functions is executed.
Next, AngularJS scans through the HTML to search for AngularJS apps as well
as views.
Once the view is located, it connects that view to the corresponding controller
function.
Next, AngularJS executes the controller functions.

It then renders the views with data from the model populated by the controller.
The page is now ready.
AngularJS
xiv
Model View Controller or MVC as it is popularly called, is a software design pattern
for developing web applications. A Model View Controller pattern is made up of the
following three parts:
Model - It is the lowest level of the pattern responsible for maintaining data.
View - It is responsible for displaying all or a portion of the data to the user.
Controller - It is a software Code that controls the interactions between the
Model and View.
MVC is popular because it isolates the application logic from the user interface layer
and supports separation of concerns. The controller receives all requests for the
application and then works with the model to prepare any data needed by the view.
The view then uses the data prepared by the controller to generate a final presentable
response. The MVC abstraction can be graphically represented as follows.
3. MVC ARCHITECTURE
AngularJS
xv
The Model
The model is responsible for managing application data. It responds to the request
from view and to the instructions from controller to update itself.
The View
A presentation of data in a particular format, triggered by the controller's decision to
present the data. They are script-based template systems such as JSP, ASP, PHP and
very easy to integrate with AJAX technology.
The Controller
The controller responds to user input and performs interactions on the data model
objects. The controller receives input, validates it, and then performs business
operations that modify the state of the data model.
AngularJS
xvi
AngularJS is a MVC based framework. In the coming chapters, we will see how
AngularJS uses MVC methodology.
AngularJS
xvii
Before creating actual Hello World ! application using AngularJS, let us see the parts
of a AngularJS application. An AngularJS application consists of following three
important parts:
ng-app : This directive defines and links an AngularJS application to HTML.
ng-model : This directive binds the values of AngularJS application data to
HTML input controls.
ng-bind : This directive binds the AngularJS Application data to HTML tags.
Creating AngularJS Application
Step 1: Load framework
Being a pure JavaScript framework, it can be added using
Step 2: Define AngularJS application using ng-app directive.

...

Step 3: Define a model name using ng-model directive.

Enter your Name:


Step 4: Bind the value of above model defined using ng-bind directive.

Hello !


4. FIRST APPLICATION
AngularJS
xviii
Executing AngularJS Application
Use the above-mentioned three steps in an HTML page.
testAngularJS.htm

AngularJS First Application

Sample Application



Enter your Name:


Hello !