SlideShare a Scribd company logo
ANGULARJS
VERSION 1.3 - SUPERLUMINAL-NUDGE
Agenda
• What’s new
• Highlight Features
• Migrating to version 1.3
• Beyond version 1.3
What’s New in Version 1.3.*
• Performance
• 4.3 times faster DOM manipulation with 73% less garbage
• 3.5 times faster digest with 87% less garbage
• Production Mode:
$compileProvider.debugInfoEnabled(false)
• $applyAsync
• Schedule the invokation of $apply to occur at a later time.
• queue up multiple expressions which need to be evaluated in the same
digest.
• One time binding.
What’s New in Version 1.3.*
• ~1000 Documentation improvements
• >400 Bug fixes
• npm packages
• ~400 contributors
• x4 Faster
• And (Wait for it…)
What’s New in Version 1.3.*
• IE8 Support discontinued
HIGHLIGHT FEATURES
• Production Mode
• By default AngularJS attaches information about scopes to
DOM nodes, and adds CSS classes to data-bound elements.
• disable this in production for a significant performance
boost with:
myApp.config(['$compileProvider', function ($compileProvider) {
$compileProvider.debugInfoEnabled(false);
}]);
//angular.reloadWithDebugInfo();
HIGHLIGHT FEATURES
• Apply Async
• Schedule the invokation of $apply to occur at a later time.
• Sets a timeout of ~10 milliseconds and then invokes $apply.
• Used by calling: scope.$applyAsync([exp])
HIGHLIGHT FEATURES
• Http Apply Async
• When using the Http service, each request that resolves triggers a
digest Cycle
• Http Service can be configured to combine processing of multiple
http responses by using the $applyAsync. Configured with:
myApp.config(['$httpProvider', function ($httpProvider) {
$httpProvider.useApplyAsync(true);
}]);
HIGHLIGHT FEATURES
• One time binding
• An expression that starts with :: is considered a one-time
expression
• Interpolation:
• Lists:
<p>Hello my name is:{{::name}}</p>
<ul class="list-group">
<li ng-repeat="user in ::users" class="list-group-
item">{{user.name}}</li>
</ul>
HIGHLIGHT FEATURES
• Forms
• ngMessages:
<div ng-messages="regform.fname.$error"
ng-if="regform.fname.$invalid &&(regform.$submitted || regform.fname.$touched)"
class="alert alert-danger" >
<div ng-message="required" >First name is required</div>
<div ng-message="minlength" >First name must be at least 4 characters.<div>
</div>
HIGHLIGHT FEATURES
• Forms
• ngMessages
• Use ngMessagesMultiple to display all messages.
• Use ngMessagesInclude to load messages from a
template file and reuse them across the form
• template messages will be overridden by inline messages.
HIGHLIGHT FEATURES
• Forms
• ngModelController.$validators
• Expected to return boolean value
• can be use instead of $parsers and $formatters.
• ngModelController.$asyncValidators
• Can be used to implement custom async validation
• Expected to return a promise.
HIGHLIGHT FEATURES
• Forms
• ngModelOptions
• Allows tuning how model updates are done.
• Specify a custom list of events that will trigger a model
update
• Set a debouncing delay so that the actual update only
takes place when a timer expires
HIGHLIGHT FEATURES
• ngAria
• ARIA - Accessible Rich Internet Applications
• Enables common ARIA attributes that convey state or
semantic information for assistive technologies.
• Currently supports ngModel, ngShow, ngHide,
ngDisabled, ngClick, ngDblclick and ngMessages
angular.module('samplesApp', [‘ngAria'])
MORE FEATURES…
• strictDI
• Throws errors and debug info when trying invoke functions
which do not use explicit function annotation
• $scope.$watchGroup
• Monitor an array of expressions for change.
<body ng-app="samplesApp" ng-strict-di>
scope.$watchGroup(['element1','element2'],
function(){/* your code here */}
);
MORE FEATURES…
• SVG & MathML Support
• $compile will allow SVG and MathML templates when using
templateNamespace property inside directives.
MIGRATION
https://docs.angularjs.org/guide/
migration
17
1.2 1.3
EXPRESSIONS
• You can no longer invoke .bind, .call, .apply inside angular expressions
• values 'f', '0', 'false', 'no', 'n', '[]' are no longer treated as falsy,
Only JavaScript falsy values are now treated as falsy by the expression
parser.
18
<div>{{user.sendInfo.call({}, true)}}</div>
$COMPILE
19
• The isolated scope of a component directive no longer
leaks into the template that contains the instance of the
directive.
1.2 :
1.3 :
<test-directive directive-scope=“controllerScope"
ng-hide=“directiveScope” ></test-directive>
<test-directive directive-scope=“controllerScope"
ng-hide="controllerScope" ></test-directive>
source: http://plnkr.co/edit/giVsWj1HDjlVN8lEJaHR?p=preview
$COMPILE
20
• Attributes.$observe no longer returns the observer
function, but a deregistration function instead
link: function(scope, elm, attr) {
var observer = attr.$observe('someAttr', function(value)
{
console.log(value);
});
}
link: function(scope, elm, attr) {
var observer = function(value) {
console.log(value);
};
attr.$observe('someAttr', observer);
}
1.2 1.3
FILTERS
21
• Simple value Filters will no longer trigger on every $digest but
only when their assigned value changes.
• This is a breaking change for filters that depends on an external
value.
• To preserve compatibility use:
.filter(‘decorate', ['decoration', function(decoration) {
function decorateFilter(input) {
return decoration.symbol + input + decoration.symbol;
}
decorateFilter.$stateful = true;
return decorateFilter;
}])
FORMS
22
• ngModelController.$cancelUpdate() - is renamed to
$rollbackViewValue()
• Input types date, time, datetime-local, month, week now
always require a Date object as model
BEYOND VERSION
1.3
http://angularjs.blogspot.co.il/20
14/12/planning-angular-14.html
23
VERSION 1.4
• Scheduled For Spring 2015
• 2 main new features:
• New Router
• Convention Based
• nested and multiple routers
• mutliple ng-view (ng-viewport)
• i18n & L10N
24
THANK YOU
25
Ad

Recommended

Wordpress plugin development tips
Wordpress plugin development tips
Mindfire Solutions
 
Lessons Learnt in 2009
Lessons Learnt in 2009
pratiknaik
 
DSLs Internas e Ruby
DSLs Internas e Ruby
Fabio Kung
 
Being a jsp
Being a jsp
Manolis Vavalis
 
Ch5 beeing an application
Ch5 beeing an application
Manolis Vavalis
 
Caching & validating
Caching & validating
Son Nguyen
 
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
Manolis Vavalis
 
Php Training Workshop by Vtips
Php Training Workshop by Vtips
Vidya Topa Institute of Professional Studies
 
Wt unit 4
Wt unit 4
team11vgnt
 
Wt unit 3
Wt unit 3
team11vgnt
 
Compress and decompress
Compress and decompress
Son Nguyen
 
OpenERP and Perl
OpenERP and Perl
OpusVL
 
Workshop 6: Designer tools
Workshop 6: Designer tools
Visual Engineering
 
Integrate with database by groovy
Integrate with database by groovy
Son Nguyen
 
Request dispacther interface ppt
Request dispacther interface ppt
Taha Malampatti
 
Module design pattern i.e. express js
Module design pattern i.e. express js
Ahmed Assaf
 
Ch. 7 beeing a jsp
Ch. 7 beeing a jsp
Manolis Vavalis
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
MySQLi - An Improved Extension of MySQL
MySQLi - An Improved Extension of MySQL
Global Codester
 
SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6
Umair Amjad
 
Ch. 8 script free pages
Ch. 8 script free pages
Manolis Vavalis
 
Multi Tenancy With Python and Django
Multi Tenancy With Python and Django
scottcrespo
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
 
Two scoops of django 1.6 - Ch7, Ch8
Two scoops of django 1.6 - Ch7, Ch8
flywindy
 
The Naked Bundle - Tryout
The Naked Bundle - Tryout
Matthias Noback
 
Php
Php
samirlakhanistb
 
Workshop 8: Templating: Handlebars, DustJS
Workshop 8: Templating: Handlebars, DustJS
Visual Engineering
 
Php summary
Php summary
Michelle Darling
 
1.3 y 1.4 subject and predicate
1.3 y 1.4 subject and predicate
paolyta28
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Carlo Bonamico
 

More Related Content

What's hot (20)

Wt unit 4
Wt unit 4
team11vgnt
 
Wt unit 3
Wt unit 3
team11vgnt
 
Compress and decompress
Compress and decompress
Son Nguyen
 
OpenERP and Perl
OpenERP and Perl
OpusVL
 
Workshop 6: Designer tools
Workshop 6: Designer tools
Visual Engineering
 
Integrate with database by groovy
Integrate with database by groovy
Son Nguyen
 
Request dispacther interface ppt
Request dispacther interface ppt
Taha Malampatti
 
Module design pattern i.e. express js
Module design pattern i.e. express js
Ahmed Assaf
 
Ch. 7 beeing a jsp
Ch. 7 beeing a jsp
Manolis Vavalis
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
MySQLi - An Improved Extension of MySQL
MySQLi - An Improved Extension of MySQL
Global Codester
 
SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6
Umair Amjad
 
Ch. 8 script free pages
Ch. 8 script free pages
Manolis Vavalis
 
Multi Tenancy With Python and Django
Multi Tenancy With Python and Django
scottcrespo
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
 
Two scoops of django 1.6 - Ch7, Ch8
Two scoops of django 1.6 - Ch7, Ch8
flywindy
 
The Naked Bundle - Tryout
The Naked Bundle - Tryout
Matthias Noback
 
Php
Php
samirlakhanistb
 
Workshop 8: Templating: Handlebars, DustJS
Workshop 8: Templating: Handlebars, DustJS
Visual Engineering
 
Php summary
Php summary
Michelle Darling
 
Compress and decompress
Compress and decompress
Son Nguyen
 
OpenERP and Perl
OpenERP and Perl
OpusVL
 
Integrate with database by groovy
Integrate with database by groovy
Son Nguyen
 
Request dispacther interface ppt
Request dispacther interface ppt
Taha Malampatti
 
Module design pattern i.e. express js
Module design pattern i.e. express js
Ahmed Assaf
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
MySQLi - An Improved Extension of MySQL
MySQLi - An Improved Extension of MySQL
Global Codester
 
SQL WORKSHOP::Lecture 6
SQL WORKSHOP::Lecture 6
Umair Amjad
 
Multi Tenancy With Python and Django
Multi Tenancy With Python and Django
scottcrespo
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
 
Two scoops of django 1.6 - Ch7, Ch8
Two scoops of django 1.6 - Ch7, Ch8
flywindy
 
The Naked Bundle - Tryout
The Naked Bundle - Tryout
Matthias Noback
 
Workshop 8: Templating: Handlebars, DustJS
Workshop 8: Templating: Handlebars, DustJS
Visual Engineering
 

Viewers also liked (11)

1.3 y 1.4 subject and predicate
1.3 y 1.4 subject and predicate
paolyta28
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Carlo Bonamico
 
Componentes en angularjs 1.5
Componentes en angularjs 1.5
Hugo Biarge
 
さわってみようReact.js、AngularJS(1系、2系)
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
 
Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0
Ran Wahle
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?
Maxime Bernard
 
Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6
William Marques
 
Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2
Ross Dederer
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJS
Kenneth Ceyer
 
Introduction to Angular 2
Introduction to Angular 2
Knoldus Inc.
 
1.3 y 1.4 subject and predicate
1.3 y 1.4 subject and predicate
paolyta28
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Carlo Bonamico
 
Componentes en angularjs 1.5
Componentes en angularjs 1.5
Hugo Biarge
 
さわってみようReact.js、AngularJS(1系、2系)
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
 
Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0
Ran Wahle
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?
Maxime Bernard
 
Angular 2 Migration - JHipster Meetup 6
Angular 2 Migration - JHipster Meetup 6
William Marques
 
Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2
Ross Dederer
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJS
Kenneth Ceyer
 
Introduction to Angular 2
Introduction to Angular 2
Knoldus Inc.
 
Ad

Similar to AngularJS Version 1.3 (20)

Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3
Sol Tran
 
AngularJS: Overview & Key Features
AngularJS: Overview & Key Features
Mohamad Al Asmar
 
Hello, AngularJS 1.3
Hello, AngularJS 1.3
Nir Elbaz
 
Optimizing a large angular application (ng conf)
Optimizing a large angular application (ng conf)
A K M Zahiduzzaman
 
AngularJS Best Practices
AngularJS Best Practices
Narek Mamikonyan
 
Angular js 1.0-fundamentals
Angular js 1.0-fundamentals
Venkatesh Narayanan
 
AngularJS in practice
AngularJS in practice
Eugene Fidelin
 
ME vs WEB - AngularJS Fundamentals
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
Angular Presentation
Angular Presentation
Adam Moore
 
Angular1x and Angular 2 for Beginners
Angular1x and Angular 2 for Beginners
Oswald Campesato
 
AngularJs Crash Course
AngularJs Crash Course
Keith Bloomfield
 
AngularJS.part1
AngularJS.part1
Andrey Kolodnitsky
 
Single Page Applications Workshop Part II: Single Page Applications using Ang...
Single Page Applications Workshop Part II: Single Page Applications using Ang...
Jalal Mostafa
 
AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)
Abhishek Anand
 
introduction to Angularjs basics
introduction to Angularjs basics
Ravindra K
 
AngularJS Workshop
AngularJS Workshop
Gianluca Cacace
 
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
murtazahaveliwala
 
Introduction to AngularJs
Introduction to AngularJs
murtazahaveliwala
 
AngularJS
AngularJS
Srivatsan Krishnamachari
 
Angular workshop - Full Development Guide
Angular workshop - Full Development Guide
Nitin Giri
 
Santa Barbara AngularJS intro to 1.3
Santa Barbara AngularJS intro to 1.3
Sol Tran
 
AngularJS: Overview & Key Features
AngularJS: Overview & Key Features
Mohamad Al Asmar
 
Hello, AngularJS 1.3
Hello, AngularJS 1.3
Nir Elbaz
 
Optimizing a large angular application (ng conf)
Optimizing a large angular application (ng conf)
A K M Zahiduzzaman
 
ME vs WEB - AngularJS Fundamentals
ME vs WEB - AngularJS Fundamentals
Aviran Cohen
 
Angular Presentation
Angular Presentation
Adam Moore
 
Angular1x and Angular 2 for Beginners
Angular1x and Angular 2 for Beginners
Oswald Campesato
 
Single Page Applications Workshop Part II: Single Page Applications using Ang...
Single Page Applications Workshop Part II: Single Page Applications using Ang...
Jalal Mostafa
 
AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)
Abhishek Anand
 
introduction to Angularjs basics
introduction to Angularjs basics
Ravindra K
 
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
Angular training - Day 3 - custom directives, $http, $resource, setup with ye...
murtazahaveliwala
 
Angular workshop - Full Development Guide
Angular workshop - Full Development Guide
Nitin Giri
 
Ad

Recently uploaded (20)

CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Humans vs AI Call Agents - Qcall.ai's Special Report
Humans vs AI Call Agents - Qcall.ai's Special Report
Udit Goenka
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
 
Best Software Development at Best Prices
Best Software Development at Best Prices
softechies7
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Sap basis role in public cloud in s/4hana.pptx
Sap basis role in public cloud in s/4hana.pptx
htmlprogrammer987
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
Complete Guideliness to Build an Effective Maintenance Plan.ppt
Complete Guideliness to Build an Effective Maintenance Plan.ppt
QualityzeInc1
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Humans vs AI Call Agents - Qcall.ai's Special Report
Humans vs AI Call Agents - Qcall.ai's Special Report
Udit Goenka
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
 
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
 
Best Software Development at Best Prices
Best Software Development at Best Prices
softechies7
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
Advance Doctor Appointment Booking App With Online Payment
Advance Doctor Appointment Booking App With Online Payment
AxisTechnolabs
 
Sap basis role in public cloud in s/4hana.pptx
Sap basis role in public cloud in s/4hana.pptx
htmlprogrammer987
 
arctitecture application system design os dsa
arctitecture application system design os dsa
za241967
 
Complete Guideliness to Build an Effective Maintenance Plan.ppt
Complete Guideliness to Build an Effective Maintenance Plan.ppt
QualityzeInc1
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
How Automation in Claims Handling Streamlined Operations
How Automation in Claims Handling Streamlined Operations
Insurance Tech Services
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
Best AI-Powered Wearable Tech for Remote Health Monitoring in 2025
SEOLIFT - SEO Company London
 
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
From Code to Commerce, a Backend Java Developer's Galactic Journey into Ecomm...
Jamie Coleman
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 

AngularJS Version 1.3

  • 1. ANGULARJS VERSION 1.3 - SUPERLUMINAL-NUDGE
  • 2. Agenda • What’s new • Highlight Features • Migrating to version 1.3 • Beyond version 1.3
  • 3. What’s New in Version 1.3.* • Performance • 4.3 times faster DOM manipulation with 73% less garbage • 3.5 times faster digest with 87% less garbage • Production Mode: $compileProvider.debugInfoEnabled(false) • $applyAsync • Schedule the invokation of $apply to occur at a later time. • queue up multiple expressions which need to be evaluated in the same digest. • One time binding.
  • 4. What’s New in Version 1.3.* • ~1000 Documentation improvements • >400 Bug fixes • npm packages • ~400 contributors • x4 Faster • And (Wait for it…)
  • 5. What’s New in Version 1.3.* • IE8 Support discontinued
  • 6. HIGHLIGHT FEATURES • Production Mode • By default AngularJS attaches information about scopes to DOM nodes, and adds CSS classes to data-bound elements. • disable this in production for a significant performance boost with: myApp.config(['$compileProvider', function ($compileProvider) { $compileProvider.debugInfoEnabled(false); }]); //angular.reloadWithDebugInfo();
  • 7. HIGHLIGHT FEATURES • Apply Async • Schedule the invokation of $apply to occur at a later time. • Sets a timeout of ~10 milliseconds and then invokes $apply. • Used by calling: scope.$applyAsync([exp])
  • 8. HIGHLIGHT FEATURES • Http Apply Async • When using the Http service, each request that resolves triggers a digest Cycle • Http Service can be configured to combine processing of multiple http responses by using the $applyAsync. Configured with: myApp.config(['$httpProvider', function ($httpProvider) { $httpProvider.useApplyAsync(true); }]);
  • 9. HIGHLIGHT FEATURES • One time binding • An expression that starts with :: is considered a one-time expression • Interpolation: • Lists: <p>Hello my name is:{{::name}}</p> <ul class="list-group"> <li ng-repeat="user in ::users" class="list-group- item">{{user.name}}</li> </ul>
  • 10. HIGHLIGHT FEATURES • Forms • ngMessages: <div ng-messages="regform.fname.$error" ng-if="regform.fname.$invalid &&(regform.$submitted || regform.fname.$touched)" class="alert alert-danger" > <div ng-message="required" >First name is required</div> <div ng-message="minlength" >First name must be at least 4 characters.<div> </div>
  • 11. HIGHLIGHT FEATURES • Forms • ngMessages • Use ngMessagesMultiple to display all messages. • Use ngMessagesInclude to load messages from a template file and reuse them across the form • template messages will be overridden by inline messages.
  • 12. HIGHLIGHT FEATURES • Forms • ngModelController.$validators • Expected to return boolean value • can be use instead of $parsers and $formatters. • ngModelController.$asyncValidators • Can be used to implement custom async validation • Expected to return a promise.
  • 13. HIGHLIGHT FEATURES • Forms • ngModelOptions • Allows tuning how model updates are done. • Specify a custom list of events that will trigger a model update • Set a debouncing delay so that the actual update only takes place when a timer expires
  • 14. HIGHLIGHT FEATURES • ngAria • ARIA - Accessible Rich Internet Applications • Enables common ARIA attributes that convey state or semantic information for assistive technologies. • Currently supports ngModel, ngShow, ngHide, ngDisabled, ngClick, ngDblclick and ngMessages angular.module('samplesApp', [‘ngAria'])
  • 15. MORE FEATURES… • strictDI • Throws errors and debug info when trying invoke functions which do not use explicit function annotation • $scope.$watchGroup • Monitor an array of expressions for change. <body ng-app="samplesApp" ng-strict-di> scope.$watchGroup(['element1','element2'], function(){/* your code here */} );
  • 16. MORE FEATURES… • SVG & MathML Support • $compile will allow SVG and MathML templates when using templateNamespace property inside directives.
  • 18. EXPRESSIONS • You can no longer invoke .bind, .call, .apply inside angular expressions • values 'f', '0', 'false', 'no', 'n', '[]' are no longer treated as falsy, Only JavaScript falsy values are now treated as falsy by the expression parser. 18 <div>{{user.sendInfo.call({}, true)}}</div>
  • 19. $COMPILE 19 • The isolated scope of a component directive no longer leaks into the template that contains the instance of the directive. 1.2 : 1.3 : <test-directive directive-scope=“controllerScope" ng-hide=“directiveScope” ></test-directive> <test-directive directive-scope=“controllerScope" ng-hide="controllerScope" ></test-directive> source: http://plnkr.co/edit/giVsWj1HDjlVN8lEJaHR?p=preview
  • 20. $COMPILE 20 • Attributes.$observe no longer returns the observer function, but a deregistration function instead link: function(scope, elm, attr) { var observer = attr.$observe('someAttr', function(value) { console.log(value); }); } link: function(scope, elm, attr) { var observer = function(value) { console.log(value); }; attr.$observe('someAttr', observer); } 1.2 1.3
  • 21. FILTERS 21 • Simple value Filters will no longer trigger on every $digest but only when their assigned value changes. • This is a breaking change for filters that depends on an external value. • To preserve compatibility use: .filter(‘decorate', ['decoration', function(decoration) { function decorateFilter(input) { return decoration.symbol + input + decoration.symbol; } decorateFilter.$stateful = true; return decorateFilter; }])
  • 22. FORMS 22 • ngModelController.$cancelUpdate() - is renamed to $rollbackViewValue() • Input types date, time, datetime-local, month, week now always require a Date object as model
  • 24. VERSION 1.4 • Scheduled For Spring 2015 • 2 main new features: • New Router • Convention Based • nested and multiple routers • mutliple ng-view (ng-viewport) • i18n & L10N 24