SlideShare a Scribd company logo
ANGULAR 2
CORE CONCEPTS
FABIO BIONDI / MATTEO RONCHI2
unshift.xyz
2 ANGULAR 2 CORE CONCEPTS
FABIOBIONDI
UI Developer and Trainer

Sviluppo, formazione e
consulenza su
AngularJS, React,
CreateJS, D3.js e diverse
librerie Javascript.
fabiobiondi.com
2 ANGULAR 2 CORE CONCEPTS
MATTEORONCHI
Senior Software Engineer

Appassionato di
architetture e
ottimizzazioni da poco
aggiunto al team di
Workwave
@cef62
ANGULARCOMMUNITIES
AngularJS Italia
AngularJS Developer Italiani
2 ANGULAR 2 CORE CONCEPTS
• Goodbye $scope
• No more controllers
• Component Based-UI
• 1-way data flow
• ES6 / Typescript
• New built-in directives
ANGULAR 2 VS 1.X
2 ANGULAR 2 CORE CONCEPTS
• New DI system
• Performance
• Better Mobile Support
• Server side render e Native Script
• Embrace Flux and RxJS
• Change Detection System
ANGULAR 2 VS 1.X
COMPONENTFUNDAMENTALS
2 ANGULAR 2 CORE CONCEPTS
Imports
Component Name
selector name <tab-bar/>
Component
Decorator
template
CREATE A WIDGET
2 ANGULAR 2 CORE CONCEPTS
<widget />
<tab-bar />
<map />
Open Plnkr
2 ANGULAR 2 CORE CONCEPTS
Country.ts (model)
Automatically generates
class properties
2 ANGULAR 2 CORE CONCEPTS
Component
Injection
<widget/> (partial)
Component Name
Selector <widget/>
2 ANGULAR 2 CORE CONCEPTS
INPUT PROP
OUTPUT EVENT
INPUT PROP
<widget/> (partial)
2 ANGULAR 2 CORE CONCEPTS
<widget/> (completed)
1
2
3
<map [item]="country">
[…]

INPUT PROPERTY
MAP COMPONENT
ANGULAR 2 CORE CONCEPT2
<map/>
Input property
item:Country

Template Binding
<tab-bar [data]="list"

(onTabSelect)="doIt($event)">
[…]

INPUT PROPERTY
(…)

OUTPUT EVENT
TABBARCOMPONENT
ANGULAR 2 CORE CONCEPT2
1/2
<tab-bar/>
FRAMEWORK

DIRECTIVES
ngFor,ngClass
ANGULAR 2 CORE CONCEPT2
ASSIGN EMITTER
EMIT EVENT
2/2
<tab-bar/>
CURRENT TAB
ANGULARBOOSTRAP
ng.bootstrap(src.Widget)
2 ANGULAR 2 CORE CONCEPTS
1. LOAD LIBRARIES
1/2
2 ANGULAR 2 CORE CONCEPTS
2. Configure
System.js
3. Bootstrap
2/2
4. DISPLAY <widget/>
DEPENDENCY INJECTION
2 ANGULAR 2 CORE CONCEPTS
• @injectable to enable injection to services
• Support multiple providers
• Application level injections
• Component level injections
NEW DEPENDENCY INJECTION ENGINE
2 ANGULAR 2 CORE CONCEPTS
import { SubComp } from `./sub-comp`
import { MyHelper } from `./my-helper`
@Component({
template: `<sub-comp></sub-comp>`
directives: [SubComp]
})
class MyComp {
constructor(private helper: MyHelper) {}
}
2 ANGULAR 2 CORE CONCEPTS
Simple Service
export class MyService {
getData() {
return loadData.load();
}
}
2 ANGULAR 2 CORE CONCEPTS
import {Injectable} from ‘angular2/core’;
@Injectable()
export class MyService {
constructor(public loadData:LoadData) {}
getData() {
return loadData.load();
}
}
Inject Service to a Service
COMPONENT LIFECYCLE
2 ANGULAR 2 CORE CONCEPTS
“ Angular only calls a directive/
component hook method if it is
defined. “ [docs]
2 ANGULAR 2 CORE CONCEPTS
BASE HOOKS
(components & directives)
ngOnChanges input property value changes
ngOnInit Initialization step
ngDoCheck every change detection cycle
ngOnDestroy before destruction
2 ANGULAR 2 CORE CONCEPTS
@Directive({selector: '[my-spy]'})
class Spy implements OnInit, OnDestroy {
ngOnInit() {
console.log(`onInit`);
}
ngOnDestroy() {
console.log(`onDestroy`);
}
}
Usage: <div my-spy>...</div>
CHANGE DETECTION
2 ANGULAR 2 CORE CONCEPTS
Angular Application are Data Driven
Data Model Components
2 ANGULAR 2 CORE CONCEPTS
DATA CHANGES -> VIEW UPDATES
Data Model Components
2 ANGULAR 2 CORE CONCEPTS
CHANGE DETECTION
TRAVELS TOP TO BOTTOM
CD
CD CD
CD CDCD
CD CD
ChangeDetection
Flow
2 ANGULAR 2 CORE CONCEPTS
CHANGE DETECTION IS
DEFINED AT COMPONENT LEVEL
2 ANGULAR 2 CORE CONCEPTS
CHANGE DETECTION
CAN SHOULD BE OPTIMIZED
• Immutable Data
• Observable
• Custom BUS Systems …
2 ANGULAR 2 CORE CONCEPTS
@Component({
template: `
<h1>{{user.name}}</h1>
<h3>{{user.nickName}}</h3> `,
changeDetection: ChangeDetectionStrategy.OnPush
inputs: [user]
})
class MyComp {}
Enable Smart Change Detection
2 ANGULAR 2 CORE CONCEPTS
CHANGE DETECTION
WITH IMMUTABLE DATA
CD
CD
CD CD
CD CD
ChangeDetection
Flow
2 ANGULAR 2 CORE CONCEPTS
@Component({
template: `
<h1>{{user.name}}</h1>
<h3>{{user.nickName}}</h3> `,
changeDetection: ChangeDetectionStrategy.OnPush
})
class MyComp {
@Input() user$:Observable<User>;
constructor(private detector: ChangeDetectorRef) {}
ngOnInit() {
this.user$.subscribe((user) => {
this.user = user;
this.detector.markForCheck();
})
}
}
Change Detection with Observable
2 ANGULAR 2 CORE CONCEPTS
CHANGE DETECTION
WITH OBSERVABLES
CD
CD
CD
CD
ChangeDetection
Flow
WHAT CAUSE
CHANGE DETECTION
2 ANGULAR 2 CORE CONCEPTS
• setTimeout(), setInterval()

• User Events (click, input change..)

• XHR Requests
GET IN THE ZONE
2 ANGULAR 2 CORE CONCEPTS
ZONE.JS INTERCEPTS ALL
ASYNC OPERATIONS

Angular has its own NgZone to
controls Change Detections
THANKS!
MATTEO RONCHI / @cef62
FABIO BIONDI / fabiobiondi.com

More Related Content

What's hot (20)

PDF
Angular 2... so can I use it now??
Laurent Duveau
 
PPTX
What’s new in angular 2
Ran Wahle
 
PDF
Angular2 intro
Shawn McKay
 
PDF
What angular 13 will bring to the table
Moon Technolabs Pvt. Ltd.
 
PDF
Introduction to Angular 2
Dawid Myslak
 
PDF
Adventures with Angular 2
Dragos Ionita
 
PPTX
Angular 2
alinabiliashevych
 
PDF
Getting Started with Angular 2
FITC
 
ODP
Introduction to Angular 2
Knoldus Inc.
 
PDF
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
PPTX
Angular1x and Angular 2 for Beginners
Oswald Campesato
 
PPTX
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
PPTX
Introduction to Angular 2
Tuan Trung Vo
 
PDF
Angular 2: core concepts
Codemotion
 
PPTX
Angular 4 Introduction Tutorial
Scott Lee
 
PPTX
PPT on Angular 2 Development Tutorial
Paddy Lock
 
PDF
What is Angular version 4?
Troy Miles
 
PDF
Introduction to angular 2
Dhyego Fernando
 
PDF
Angular 4 Tutorial | What's New In Angular 4 | Angular Training | Edureka
Edureka!
 
Angular 2... so can I use it now??
Laurent Duveau
 
What’s new in angular 2
Ran Wahle
 
Angular2 intro
Shawn McKay
 
What angular 13 will bring to the table
Moon Technolabs Pvt. Ltd.
 
Introduction to Angular 2
Dawid Myslak
 
Adventures with Angular 2
Dragos Ionita
 
Getting Started with Angular 2
FITC
 
Introduction to Angular 2
Knoldus Inc.
 
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
Angular1x and Angular 2 for Beginners
Oswald Campesato
 
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
Introduction to Angular 2
Tuan Trung Vo
 
Angular 2: core concepts
Codemotion
 
Angular 4 Introduction Tutorial
Scott Lee
 
PPT on Angular 2 Development Tutorial
Paddy Lock
 
What is Angular version 4?
Troy Miles
 
Introduction to angular 2
Dhyego Fernando
 
Angular 4 Tutorial | What's New In Angular 4 | Angular Training | Edureka
Edureka!
 

Similar to Angular 2 - Core Concepts (20)

PDF
Commit University - Exploring Angular 2
Commit University
 
PPTX
Angular 2.0
Mallikarjuna G D
 
PPTX
Angular 2 Migration - JHipster Meetup 6
William Marques
 
PPTX
Introduction to Angular2
Ivan Matiishyn
 
PPTX
Angular
sridhiya
 
PPTX
Angular 2 - a New Hope
Sami Suo-Heikki
 
PPTX
Angular%201%20to%20angular%202
Ran Wahle
 
DOCX
Projet d'accès aux résultats des étudiant via client mobile
Patrick Bashizi
 
PPTX
Angular from Zero to Mastery - Training (Intermediate)
Smail LOUNES
 
PDF
Building Blocks of Angular 2 and ASP.NET Core
Levi Fuller
 
PPTX
Angular js 2.0 beta
Nagaraju Sangam
 
PDF
Angular 2 Routing
Andres Ciceri
 
PDF
Meetup SkillValue - Angular 6 : Bien démarrer son application
Thibault Even
 
PPTX
Angular Js Basics
أحمد عبد الوهاب
 
PDF
ChtiJUG - Introduction à Angular2
Demey Emmanuel
 
PDF
Workshop 13: AngularJS Parte II
Visual Engineering
 
PDF
From MEAN to the MERN Stack
Troy Miles
 
PDF
Angular 2 for Java Developers
Yakov Fain
 
PPTX
Angular 9
Raja Vishnu
 
PDF
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Stacy London
 
Commit University - Exploring Angular 2
Commit University
 
Angular 2.0
Mallikarjuna G D
 
Angular 2 Migration - JHipster Meetup 6
William Marques
 
Introduction to Angular2
Ivan Matiishyn
 
Angular
sridhiya
 
Angular 2 - a New Hope
Sami Suo-Heikki
 
Angular%201%20to%20angular%202
Ran Wahle
 
Projet d'accès aux résultats des étudiant via client mobile
Patrick Bashizi
 
Angular from Zero to Mastery - Training (Intermediate)
Smail LOUNES
 
Building Blocks of Angular 2 and ASP.NET Core
Levi Fuller
 
Angular js 2.0 beta
Nagaraju Sangam
 
Angular 2 Routing
Andres Ciceri
 
Meetup SkillValue - Angular 6 : Bien démarrer son application
Thibault Even
 
Angular Js Basics
أحمد عبد الوهاب
 
ChtiJUG - Introduction à Angular2
Demey Emmanuel
 
Workshop 13: AngularJS Parte II
Visual Engineering
 
From MEAN to the MERN Stack
Troy Miles
 
Angular 2 for Java Developers
Yakov Fain
 
Angular 9
Raja Vishnu
 
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
Stacy London
 
Ad

More from Fabio Biondi (18)

PDF
Redux Toolkit - Quick Intro - 2022
Fabio Biondi
 
PDF
React - Component Based Approach
Fabio Biondi
 
PDF
Introduction to E2E in Cypress
Fabio Biondi
 
PDF
Create your React 18 / TS bundle using esbuild
Fabio Biondi
 
PDF
Create Web Components using Google Lit
Fabio Biondi
 
PDF
Redux Toolkit & RTK Query in TypeScript: tips&tricks
Fabio Biondi
 
PDF
React Typescript for beginners: Translator app with Microsoft cognitive services
Fabio Biondi
 
PDF
RXJS Best (& Bad) Practices for Angular Developers
Fabio Biondi
 
PDF
Introduction for Master Class "Amazing Reactive Forms"
Fabio Biondi
 
PDF
Data architectures in Angular & NGRX Introduction
Fabio Biondi
 
PDF
RxJS & Angular Reactive Forms @ Codemotion 2019
Fabio Biondi
 
PDF
Angular & RXJS: examples and use cases
Fabio Biondi
 
PDF
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Fabio Biondi
 
PDF
Introduction to Redux (for Angular and React devs)
Fabio Biondi
 
PDF
Angular Best Practices @ Firenze 19 feb 2018
Fabio Biondi
 
PDF
React: JSX and Top Level API
Fabio Biondi
 
PDF
Intro evento: evolvere un applicazione Angular con Rxjs e Redux
Fabio Biondi
 
PDF
Single Page Applications in Angular (italiano)
Fabio Biondi
 
Redux Toolkit - Quick Intro - 2022
Fabio Biondi
 
React - Component Based Approach
Fabio Biondi
 
Introduction to E2E in Cypress
Fabio Biondi
 
Create your React 18 / TS bundle using esbuild
Fabio Biondi
 
Create Web Components using Google Lit
Fabio Biondi
 
Redux Toolkit & RTK Query in TypeScript: tips&tricks
Fabio Biondi
 
React Typescript for beginners: Translator app with Microsoft cognitive services
Fabio Biondi
 
RXJS Best (& Bad) Practices for Angular Developers
Fabio Biondi
 
Introduction for Master Class "Amazing Reactive Forms"
Fabio Biondi
 
Data architectures in Angular & NGRX Introduction
Fabio Biondi
 
RxJS & Angular Reactive Forms @ Codemotion 2019
Fabio Biondi
 
Angular & RXJS: examples and use cases
Fabio Biondi
 
Angular Day 2018 (italy) - Keynote - The Amazing World of Angular 6
Fabio Biondi
 
Introduction to Redux (for Angular and React devs)
Fabio Biondi
 
Angular Best Practices @ Firenze 19 feb 2018
Fabio Biondi
 
React: JSX and Top Level API
Fabio Biondi
 
Intro evento: evolvere un applicazione Angular con Rxjs e Redux
Fabio Biondi
 
Single Page Applications in Angular (italiano)
Fabio Biondi
 
Ad

Recently uploaded (20)

PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
DOCX
Import Data Form Excel to Tally Services
Tally xperts
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PPTX
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Import Data Form Excel to Tally Services
Tally xperts
 
Executive Business Intelligence Dashboards
vandeslie24
 
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 

Angular 2 - Core Concepts

  • 1. ANGULAR 2 CORE CONCEPTS FABIO BIONDI / MATTEO RONCHI2 unshift.xyz
  • 2. 2 ANGULAR 2 CORE CONCEPTS FABIOBIONDI UI Developer and Trainer Sviluppo, formazione e consulenza su AngularJS, React, CreateJS, D3.js e diverse librerie Javascript. fabiobiondi.com
  • 3. 2 ANGULAR 2 CORE CONCEPTS MATTEORONCHI Senior Software Engineer Appassionato di architetture e ottimizzazioni da poco aggiunto al team di Workwave @cef62
  • 5. 2 ANGULAR 2 CORE CONCEPTS • Goodbye $scope • No more controllers • Component Based-UI • 1-way data flow • ES6 / Typescript • New built-in directives ANGULAR 2 VS 1.X
  • 6. 2 ANGULAR 2 CORE CONCEPTS • New DI system • Performance • Better Mobile Support • Server side render e Native Script • Embrace Flux and RxJS • Change Detection System ANGULAR 2 VS 1.X
  • 8. 2 ANGULAR 2 CORE CONCEPTS Imports Component Name selector name <tab-bar/> Component Decorator template
  • 10. 2 ANGULAR 2 CORE CONCEPTS <widget /> <tab-bar /> <map /> Open Plnkr
  • 11. 2 ANGULAR 2 CORE CONCEPTS Country.ts (model) Automatically generates class properties
  • 12. 2 ANGULAR 2 CORE CONCEPTS Component Injection <widget/> (partial) Component Name Selector <widget/>
  • 13. 2 ANGULAR 2 CORE CONCEPTS INPUT PROP OUTPUT EVENT INPUT PROP <widget/> (partial)
  • 14. 2 ANGULAR 2 CORE CONCEPTS <widget/> (completed) 1 2 3
  • 16. ANGULAR 2 CORE CONCEPT2 <map/> Input property item:Country
 Template Binding
  • 18. ANGULAR 2 CORE CONCEPT2 1/2 <tab-bar/> FRAMEWORK
 DIRECTIVES ngFor,ngClass
  • 19. ANGULAR 2 CORE CONCEPT2 ASSIGN EMITTER EMIT EVENT 2/2 <tab-bar/> CURRENT TAB
  • 21. 2 ANGULAR 2 CORE CONCEPTS 1. LOAD LIBRARIES 1/2
  • 22. 2 ANGULAR 2 CORE CONCEPTS 2. Configure System.js 3. Bootstrap 2/2 4. DISPLAY <widget/>
  • 24. 2 ANGULAR 2 CORE CONCEPTS • @injectable to enable injection to services • Support multiple providers • Application level injections • Component level injections NEW DEPENDENCY INJECTION ENGINE
  • 25. 2 ANGULAR 2 CORE CONCEPTS import { SubComp } from `./sub-comp` import { MyHelper } from `./my-helper` @Component({ template: `<sub-comp></sub-comp>` directives: [SubComp] }) class MyComp { constructor(private helper: MyHelper) {} }
  • 26. 2 ANGULAR 2 CORE CONCEPTS Simple Service export class MyService { getData() { return loadData.load(); } }
  • 27. 2 ANGULAR 2 CORE CONCEPTS import {Injectable} from ‘angular2/core’; @Injectable() export class MyService { constructor(public loadData:LoadData) {} getData() { return loadData.load(); } } Inject Service to a Service
  • 29. 2 ANGULAR 2 CORE CONCEPTS “ Angular only calls a directive/ component hook method if it is defined. “ [docs]
  • 30. 2 ANGULAR 2 CORE CONCEPTS BASE HOOKS (components & directives) ngOnChanges input property value changes ngOnInit Initialization step ngDoCheck every change detection cycle ngOnDestroy before destruction
  • 31. 2 ANGULAR 2 CORE CONCEPTS @Directive({selector: '[my-spy]'}) class Spy implements OnInit, OnDestroy { ngOnInit() { console.log(`onInit`); } ngOnDestroy() { console.log(`onDestroy`); } } Usage: <div my-spy>...</div>
  • 33. 2 ANGULAR 2 CORE CONCEPTS Angular Application are Data Driven Data Model Components
  • 34. 2 ANGULAR 2 CORE CONCEPTS DATA CHANGES -> VIEW UPDATES Data Model Components
  • 35. 2 ANGULAR 2 CORE CONCEPTS CHANGE DETECTION TRAVELS TOP TO BOTTOM CD CD CD CD CDCD CD CD ChangeDetection Flow
  • 36. 2 ANGULAR 2 CORE CONCEPTS CHANGE DETECTION IS DEFINED AT COMPONENT LEVEL
  • 37. 2 ANGULAR 2 CORE CONCEPTS CHANGE DETECTION CAN SHOULD BE OPTIMIZED • Immutable Data • Observable • Custom BUS Systems …
  • 38. 2 ANGULAR 2 CORE CONCEPTS @Component({ template: ` <h1>{{user.name}}</h1> <h3>{{user.nickName}}</h3> `, changeDetection: ChangeDetectionStrategy.OnPush inputs: [user] }) class MyComp {} Enable Smart Change Detection
  • 39. 2 ANGULAR 2 CORE CONCEPTS CHANGE DETECTION WITH IMMUTABLE DATA CD CD CD CD CD CD ChangeDetection Flow
  • 40. 2 ANGULAR 2 CORE CONCEPTS @Component({ template: ` <h1>{{user.name}}</h1> <h3>{{user.nickName}}</h3> `, changeDetection: ChangeDetectionStrategy.OnPush }) class MyComp { @Input() user$:Observable<User>; constructor(private detector: ChangeDetectorRef) {} ngOnInit() { this.user$.subscribe((user) => { this.user = user; this.detector.markForCheck(); }) } } Change Detection with Observable
  • 41. 2 ANGULAR 2 CORE CONCEPTS CHANGE DETECTION WITH OBSERVABLES CD CD CD CD ChangeDetection Flow
  • 43. 2 ANGULAR 2 CORE CONCEPTS • setTimeout(), setInterval() • User Events (click, input change..) • XHR Requests
  • 44. GET IN THE ZONE
  • 45. 2 ANGULAR 2 CORE CONCEPTS ZONE.JS INTERCEPTS ALL ASYNC OPERATIONS Angular has its own NgZone to controls Change Detections
  • 46. THANKS! MATTEO RONCHI / @cef62 FABIO BIONDI / fabiobiondi.com