SlideShare a Scribd company logo
LEVELING UP
LEVELING UP
Bring AngularJS beginners up to speed and level up everyone’s skills so
we can understand core concepts and develop complex web
applications for our clients more effectively.
OBJECTIVE
LEVELING UP
HTML is great for declaring static documents, but it falters when we try
to use it for declaring dynamic views in web-applications. AngularJS
lets you extend HTML vocabulary for your application. The resulting
environment is extraordinarily expressive, readable, and quick to
develop.
WHY USE ANGULAR?
LEVELING UP
WHY USE ANGULAR?
MV* Pattern
Modular code
Future proof your code
Develop faster
Two-way data binding/Scope
Directives
Filters
Dependency injection
Services
Routes
Simple API Consumption
It’s Awesome!
LEVELING UP
ANGULAR IS AN MV* FRAMEWORK
Model
View Controller
Model-View-Controller is an architectural design pattern
that encourages improved application organization through
a separation of concerns. It enforces the isolation of
business data (Models) from user interfaces (Views), with a
third component (Controllers) traditionally present to
manage logic, user-input and the coordination of models
and views.
LEVELING UP
Scope is an object that refers to the application model. It is an
execution context for expressions. Scopes are arranged in hierarchical
structure which mimic the DOM structure of the application. Scopes
can watch expressions and propagate events.
SCOPE
LEVELING UP
Data-binding in Angular apps is the automatic synchronization of data
between the model and view components. The way that Angular
implements data-binding lets you treat the model as the single-source-
of-truth in your application. The view is a projection of the model at all
times. When the model changes, the view reflects the change, and vice
versa.
TWO-WAY DATA BINDING
LEVELING UP
At a high level, directives are markers on a DOM element (such as an
attribute, element name, comment or CSS class) that tell AngularJS's
HTML compiler ($compile) to attach a specified behavior to that DOM
element or even transform the DOM element and its children.
DIRECTIVES
<slide duration=“500” color=“blue” src=“img/slide-01.jpg” link=“http://google.com/” />
LEVELING UPDIRECTIVES
<slides>
<slide ng-repeat=“slide in slides”
duration=“{{slide.duration}}”
color=“{{slide.color}}”
src=“{{slide.img}}”
link=“{{slide.link}}” />
</slides>
$scope.slides = [
{
img: ‘img/slide01.jpg’,
color: ‘red’,
link: ‘google.com’,
duration: ‘2000’
},
{
img: ‘img/slide02.jpg’,
color: ‘blue’,
link: ‘apple.com’,
duration: ‘3000’
},
{
img: ‘img/slide03.jpg’,
color: ‘purple’,
link: ‘theverge.com’,
duration: ‘2500’
},
{
img: ‘img/slide04.jpg’,
color: ‘green’,
link: ‘techcrunch.com’,
duration: ‘1500’
}
]
<ul class=“slider”>
<li class=“slide” style=“background-
color:red” data-duration=“2000”>
<a href=“google.com”>
<img src=“img/slide01.jpg” />
</a>
</li>
<li class=“slide” style=“background-
color:blue” data-duration=“3000”>
<a href=“apple.com”>
<img src=“img/slide02.jpg” />
</a>
</li>
<li class=“slide” style=“background-
color:purple” data-duration=“2500”>
<a href=“theverge.com”>
<img src=“img/slide03.jpg” />
</a>
</li>
<li class=“slide” style=“background-
color:green” data-duration=“1500”>
<a href=“techcrunch.com”>
<img src=“img/slide04.jpg” />
</a>
</li>
</ul>
LEVELING UP
A filter formats the value of an expression for display to the user. They
can be used in view templates, controllers or services and it is easy to
define your own filter.
FILTERS
{{ expression | filter }}
LEVELING UP
Dependency Injection is a software design pattern that deals with how
components get hold of their dependencies. The Angular injector
subsystem is in charge of creating components, resolving their
dependencies, and providing them to other components as requested.
DEPENDENCY INJECTION
app.controller('DynamicFormCtrl', ['$scope', '$http', '$modal', '$filter',
function($scope, $http, $modal, $filter) { ... }]);
LEVELING UP
Angular services are substitutable objects that are wired together using
dependency injection. You can use services to organize and share code
across your app.
SERVICES
LEVELING UP
THREE TYPES OF SERVICES
Factories
Syntax:
module.factory('factoryName',
function);
Result:
When declaring factoryName as an
injectable argument you will be
provided with the value that is returned
by invoking the function reference
passed to module.factory.
Services
Syntax:
module.service('serviceName',
function);
Result:
When declaring serviceName as an
injectable argument you will be
provided with an instance of the
function. In other words new
FunctionYouPassedToService().
Providers
Syntax:
module.provider('providerName',
function);
Result:
When declaring providerName as an
injectable argument you will be
provided with ProviderFunction().$get().
The constructor function is instantiated
before the $get method is called -
ProviderFunction is the function
reference passed to module.provider.
LEVELING UP
Routes enable you to create different URLs for different content in your
application. Having different URLs for different content enables the user
to bookmark URLs to specific content, and send those URLs to friends
etc. In AngularJS each such bookmarkable URL is called a route.
ROUTES
LEVELING UP

More Related Content

ODP
Angular2
PPTX
Angular JS training institute in Jaipur
PPTX
Stephen Kennedy Silverlight 3 Deep Dive
PDF
Modern webtechnologies
PPTX
AngularJS = Browser applications on steroids
PPTX
Angular js
PPTX
Angular js 1.3 presentation for fed nov 2014
PPTX
Dive into Angular, part 1: Introduction
Angular2
Angular JS training institute in Jaipur
Stephen Kennedy Silverlight 3 Deep Dive
Modern webtechnologies
AngularJS = Browser applications on steroids
Angular js
Angular js 1.3 presentation for fed nov 2014
Dive into Angular, part 1: Introduction

What's hot (20)

PPTX
Kalp Corporate Angular Js Tutorials
PPTX
Angular js 1.3 basic tutorial
PPTX
Angular crash course
PPTX
Introduction to AngularJS
PPTX
Introduction to single page application with angular js
DOCX
Single Page Application
PPT
introduction to Angularjs basics
PPTX
Angular js presentation at Datacom
PPTX
Angular introduction basic
PPTX
angularJS Practicle Explanation
PDF
Introduction to Angular Js
PPT
Examples of My Work and Creativity
PPT
MVC Architecture
PPTX
AngularJS Overview
PDF
Itroducing Angular JS
PDF
PPT
Why MVC?
PPTX
Getting Started with Angular JS
PPTX
MVC Training Part 1
Kalp Corporate Angular Js Tutorials
Angular js 1.3 basic tutorial
Angular crash course
Introduction to AngularJS
Introduction to single page application with angular js
Single Page Application
introduction to Angularjs basics
Angular js presentation at Datacom
Angular introduction basic
angularJS Practicle Explanation
Introduction to Angular Js
Examples of My Work and Creativity
MVC Architecture
AngularJS Overview
Itroducing Angular JS
Why MVC?
Getting Started with Angular JS
MVC Training Part 1
Ad

Viewers also liked (20)

PPTX
Laura aguirre
PPTX
Put the whiteboard in your database
PDF
KDK Events
PPT
Paul M Lawless
PPTX
Crown Packaging Customer Interface
PPTX
Test
PPTX
Calidad y Evaluación de Contenidos Electrónicos
DOCX
Carmen cauja-manejo de word
DOCX
La poésie definition
DOCX
Documento sub. controle 3 pag.32
PPTX
Tipos de memoria ram
PPTX
Bluemix & Recruitment - Internship Challenge
PPTX
Lecture 11.1 : heaps
PDF
Meinprospekt.de
PDF
Untitled Presentation
PDF
Report apprendistato
PPSX
#Viñas y #Vinos del Fin del Mundo
PDF
A importância dos conceitos.
PDF
De la bellota al roble: construir identidad 2.0
PDF
DeclarativeSql
Laura aguirre
Put the whiteboard in your database
KDK Events
Paul M Lawless
Crown Packaging Customer Interface
Test
Calidad y Evaluación de Contenidos Electrónicos
Carmen cauja-manejo de word
La poésie definition
Documento sub. controle 3 pag.32
Tipos de memoria ram
Bluemix & Recruitment - Internship Challenge
Lecture 11.1 : heaps
Meinprospekt.de
Untitled Presentation
Report apprendistato
#Viñas y #Vinos del Fin del Mundo
A importância dos conceitos.
De la bellota al roble: construir identidad 2.0
DeclarativeSql
Ad

Similar to Leveling up with AngularJS (20)

PPTX
Intoduction to Angularjs
PPTX
Angular Js Get Started - Complete Course
PPTX
AngularJs Workshop SDP December 28th 2014
PPTX
Understanding angular js
PPTX
angularJs Workshop
PPTX
Angular workshop - Full Development Guide
PPTX
Angular js
PDF
Angular Project Report
PDF
Infosys Angular Interview Questions PDF By ScholarHat
PDF
Introduction to Angularjs : kishan kumar
PPTX
Introduction to Angularjs
PDF
AngularJS By Vipin
PPTX
Angular js architecture (v1.4.8)
PPTX
Angular js
PDF
Client Side MVC & Angular
PDF
Angular js interview question answer for fresher
PPT
17612235.ppt
PPTX
Training On Angular Js
PPTX
Angular 18 course for begineers and experienced
PPTX
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios
Intoduction to Angularjs
Angular Js Get Started - Complete Course
AngularJs Workshop SDP December 28th 2014
Understanding angular js
angularJs Workshop
Angular workshop - Full Development Guide
Angular js
Angular Project Report
Infosys Angular Interview Questions PDF By ScholarHat
Introduction to Angularjs : kishan kumar
Introduction to Angularjs
AngularJS By Vipin
Angular js architecture (v1.4.8)
Angular js
Client Side MVC & Angular
Angular js interview question answer for fresher
17612235.ppt
Training On Angular Js
Angular 18 course for begineers and experienced
AngularJs Superheroic JavaScript MVW Framework Services by Miracle Studios

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Machine learning based COVID-19 study performance prediction
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Modernizing your data center with Dell and AMD
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PPT
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
Modernizing your data center with Dell and AMD
A Presentation on Artificial Intelligence
NewMind AI Monthly Chronicles - July 2025
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
KodekX | Application Modernization Development
Teaching material agriculture food technology

Leveling up with AngularJS

  • 2. LEVELING UP Bring AngularJS beginners up to speed and level up everyone’s skills so we can understand core concepts and develop complex web applications for our clients more effectively. OBJECTIVE
  • 3. LEVELING UP HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. WHY USE ANGULAR?
  • 4. LEVELING UP WHY USE ANGULAR? MV* Pattern Modular code Future proof your code Develop faster Two-way data binding/Scope Directives Filters Dependency injection Services Routes Simple API Consumption It’s Awesome!
  • 5. LEVELING UP ANGULAR IS AN MV* FRAMEWORK Model View Controller Model-View-Controller is an architectural design pattern that encourages improved application organization through a separation of concerns. It enforces the isolation of business data (Models) from user interfaces (Views), with a third component (Controllers) traditionally present to manage logic, user-input and the coordination of models and views.
  • 6. LEVELING UP Scope is an object that refers to the application model. It is an execution context for expressions. Scopes are arranged in hierarchical structure which mimic the DOM structure of the application. Scopes can watch expressions and propagate events. SCOPE
  • 7. LEVELING UP Data-binding in Angular apps is the automatic synchronization of data between the model and view components. The way that Angular implements data-binding lets you treat the model as the single-source- of-truth in your application. The view is a projection of the model at all times. When the model changes, the view reflects the change, and vice versa. TWO-WAY DATA BINDING
  • 8. LEVELING UP At a high level, directives are markers on a DOM element (such as an attribute, element name, comment or CSS class) that tell AngularJS's HTML compiler ($compile) to attach a specified behavior to that DOM element or even transform the DOM element and its children. DIRECTIVES <slide duration=“500” color=“blue” src=“img/slide-01.jpg” link=“http://google.com/” />
  • 9. LEVELING UPDIRECTIVES <slides> <slide ng-repeat=“slide in slides” duration=“{{slide.duration}}” color=“{{slide.color}}” src=“{{slide.img}}” link=“{{slide.link}}” /> </slides> $scope.slides = [ { img: ‘img/slide01.jpg’, color: ‘red’, link: ‘google.com’, duration: ‘2000’ }, { img: ‘img/slide02.jpg’, color: ‘blue’, link: ‘apple.com’, duration: ‘3000’ }, { img: ‘img/slide03.jpg’, color: ‘purple’, link: ‘theverge.com’, duration: ‘2500’ }, { img: ‘img/slide04.jpg’, color: ‘green’, link: ‘techcrunch.com’, duration: ‘1500’ } ] <ul class=“slider”> <li class=“slide” style=“background- color:red” data-duration=“2000”> <a href=“google.com”> <img src=“img/slide01.jpg” /> </a> </li> <li class=“slide” style=“background- color:blue” data-duration=“3000”> <a href=“apple.com”> <img src=“img/slide02.jpg” /> </a> </li> <li class=“slide” style=“background- color:purple” data-duration=“2500”> <a href=“theverge.com”> <img src=“img/slide03.jpg” /> </a> </li> <li class=“slide” style=“background- color:green” data-duration=“1500”> <a href=“techcrunch.com”> <img src=“img/slide04.jpg” /> </a> </li> </ul>
  • 10. LEVELING UP A filter formats the value of an expression for display to the user. They can be used in view templates, controllers or services and it is easy to define your own filter. FILTERS {{ expression | filter }}
  • 11. LEVELING UP Dependency Injection is a software design pattern that deals with how components get hold of their dependencies. The Angular injector subsystem is in charge of creating components, resolving their dependencies, and providing them to other components as requested. DEPENDENCY INJECTION app.controller('DynamicFormCtrl', ['$scope', '$http', '$modal', '$filter', function($scope, $http, $modal, $filter) { ... }]);
  • 12. LEVELING UP Angular services are substitutable objects that are wired together using dependency injection. You can use services to organize and share code across your app. SERVICES
  • 13. LEVELING UP THREE TYPES OF SERVICES Factories Syntax: module.factory('factoryName', function); Result: When declaring factoryName as an injectable argument you will be provided with the value that is returned by invoking the function reference passed to module.factory. Services Syntax: module.service('serviceName', function); Result: When declaring serviceName as an injectable argument you will be provided with an instance of the function. In other words new FunctionYouPassedToService(). Providers Syntax: module.provider('providerName', function); Result: When declaring providerName as an injectable argument you will be provided with ProviderFunction().$get(). The constructor function is instantiated before the $get method is called - ProviderFunction is the function reference passed to module.provider.
  • 14. LEVELING UP Routes enable you to create different URLs for different content in your application. Having different URLs for different content enables the user to bookmark URLs to specific content, and send those URLs to friends etc. In AngularJS each such bookmarkable URL is called a route. ROUTES