History of ยซ Become a ninja with Angular ยป
The current version of the book uses
- Angular 19.2.6
- Angular CLI 19.2.8
List of releases and changes
- v19.2.02/26/25
- Signals: advanced topics
- 2/20/25Add a section about
httpResource()
, introduced in v19.2 - 2/9/25Add a section about
resource
with astream
and update therxResource
section according to changes in v19.2. - 2/7/25We can define a
defaultValue
in aresource
in v19.2.
- v19.1.01/16/25
- v19.0.011/19/24
- Signals basics
- 9/26/24New chapter to introduce signal basics at the beginning of the ebook!
- Reactive Programming
- 11/7/24Rewrite and introduce the interoperability with signals.
- Building components and directives
- 10/24/24Chapter updated to explain
input()
andoutput()
.
- Reacting to signal changes
- 10/24/24New chapter about
computed
andeffect
and how to use them.
- Send and receive data with Http
- 11/19/24Showcase how to use
toSignal
to subscribe.
- Advanced components and directives
- 11/19/24Use
viewChild()
/contentChild()
instead of decorators.
- Signals: advanced topics
- 11/19/24New chapter about advanced topics with Signals!
- 11/19/24Add a section about the
resource
andrxResource
functions introduced in v19. - 11/19/24Add a section about the experimental
linkedSignal
introduced in v19.
- Performances
- 11/19/24Rewrite the chapter to use signals and solve a lot of problems our of the box!
- v18.2.08/15/24
- v18.1.07/10/24
- The templating syntax
- 7/8/24Add a section about
@let
variables, as introduced in Angular v18.1.
- Building components and directives
- 6/21/24Add a section about
afterRender
andafterNextRender
.
- Performances
- 5/31/24Refresh the performances chapter regarding the control flow syntax, signals, and the experimental zoneless detection
- 5/23/24Mention the
--ssr
option of the CLI for Server Side Rendering.
- v18.0.05/22/24
- The templating syntax
- 4/22/24The chapter now introduces
@if
/@for
/@switch
from the control flow syntax as the recommended way to write templates. We kept a section about*ngIf
/*ngFor
/*ngSwitch
as they are not deprecated and can still be used. All template examples across the ebook now use the control flow syntax.
- Building components and directives
- 5/2/24Add a section about fallback content for
ng-content
, as introduced in Angular v18.
- Forms
- 5/3/24Mention the
events
observable onFormControl
, introduced in Angular v18.
- Send and receive data with Http
- 4/27/24Mention that
HttpClientModule
is deprecated in Angular v18.
- Internationalization
- 3/16/24Add a section about i18n with Transloco and new exercice to go along with it!
- v17.3.03/14/24
- Signals
- 3/8/24Add a section about the
output()
function introduced in v17.3
- Advanced observables
- 2/27/24Add a section about using subjects as triggers.
- v17.2.02/15/24
- Signals
- 2/13/24Add a section about the
model()
function introduced in v17.2 - 2/12/24Add a section about the queries as signals functions (
viewChild()
/viewChildren()
/contentChild()
/contentChildren()
) introduced in v17.2
- Deferred loading with
@defer
- 2/1/24The defer block fixture default behavior switched to
Playthrough
.
- v17.1.01/18/24
- Signals
- 1/17/24Add a section about input as signals, as introduced in v17.1
- 12/23/23Mention the new
Signals
exercise added to the Pro Pack! - 12/23/23Add a section about how to handle nullable values in signals.
- v17.0.011/8/23
- Styling components and encapsulation
- 11/8/23We now use
styleUrl
when possible, as introduced in Angular v17.
- Signals
- 10/12/23Remove the
mutate
method from examples,a s it has been remove in Angular v17.
- Control flow syntax
- 10/8/23New chapter about the control flow syntax introduced in Angular v17!
- Deferred loading with
@defer
- 10/30/23New chapter about deferred loading with
@defer
as introduced in Angular v17!
- v16.2.08/10/23
- Building components and directives
- 6/24/23Add a section about the
transform
option of@Input
, introduced in Angular v16.1.
- v16.1.06/14/23
- v16.0.05/17/23
- Building components and directives
- 5/3/23Introduce required inputs, as added in Angular v16
- Router
- 5/3/23Add a section about
withComponentInputBinding
to get router parameters and data as component inputs, as introduced in Angular v16
- Signals
- 5/17/23New chapter about Signals!
- Advanced observables
- 5/3/23Use the
takeUntilDestroyed
RxJS operator introduced in Angular v16
- v15.2.02/23/23
- Router
- 2/23/23As Angular v15.2 deprecates class-based resolvers and guards, we now use functional resolvers and guards in all examples.
- v15.1.01/11/23
- Dependency Injection
- 1/5/23Use a better example for DI configuration, with a logging service that logs to the console in development and calls an API in production.
- 12/1/22Add a section about the
inject()
function.
- Router
- 1/11/23Remove the section about the
CanLoad
guard as it is now deprecated (useCanMatch
instead).
- Standalone components
- 11/30/22Add a section about HTTP with
provideHttpClient
and functional interceptors.
- Going to production
- 1/11/23Explains how to use
ng generate environments
.
- v15.0.011/16/22
- Dependency Injection
- 11/16/22Remove the
providedIn: NgModule
syntax now that it is deprecated in Angular v15
- Router
- 11/16/22The router automatically unwraps default module exports in lazy-loading routes in Angular v15
- 11/14/22Showcases an example of a functional resolver
- 11/14/22Showcases an example of functional guard
- Standalone components
- 11/16/22Use the
NgFor
alias introduced in Angular v15 for theNgForOf
directive - 11/16/22The router now automatically unwraps default component exports in lazy-loading routes
- Going to production
- 11/16/22Replace the explanation of
enableProdMode
by a section about production mode and mention thengDevMode
variable. - 11/16/22We now explain how to use
fileReplacements
as it is no longer included by default in CLI v15.
- v14.2.08/26/22
- Standalone components
- 8/26/22Mention
provideRouter(routes)
- Performances
- 8/26/22Mention the experimental
NgOptimizedImage
directive introduced in v14.2
- v14.1.07/21/22
- Router
- 7/21/22Add a section on the new
CanMatch
guard introduced in v14.1
- v14.0.06/3/22
- Forms
- 6/3/22Add a section about
FormArray
andFormRecord
- 6/3/22Add a section about typed forms
- 6/3/22We nows use and explain the new "strictly typed forms API" ๐
- Standalone components
- 6/3/22New chapter about standalone APIs!
- Performances
- 5/11/22Better example of
NgZone.runOutsideAngular
usage
- v13.3.03/16/22
- v13.2.01/27/22
- Forms
- 12/14/21The forms chapter has a new section about control value accessors, explaining how to create custom form controls
- Advanced components and directives
- 12/17/21The advanced components chapter has a new section about ng-template, explaining how to create customizable components using conditional, contextual content projection
- Going to production
- 1/27/22Section about the new
extendedDiagnostics
option introduced in v13.2
- v13.1.012/10/21
- v13.0.011/4/21
- The templating syntax
- 11/4/21Remove the canonical
bind-
,on-
,ref-
syntax that has been deprecated in Angular v13
- Going to production
- 11/4/21Remove the section about differential loading as it has been removed in Angular v13
- 11/4/21Remove the
fullTemplateTypeCheck
explanation, as it is deprecated in Angular v13, and only keep its remplacementstrictTemplates
.
- v12.2.08/5/21
- Global
- 7/29/21Add links to our quizzes!
- Reactive Programming
- 8/5/21RxJS v7.2 allows to import operators directly from
rxjs
, so all imports have been simplified.
- v12.1.06/25/21
- v12.0.05/13/21
- Global
- 5/13/21All examples now use strict null checks.
- From zero to something
- 5/13/21The ebook now uses ESLint as its linter.
- Testing your app
- 5/13/21The e2e tests section now introduces Cypress
- Send and receive data with Http
- 5/13/21Section about the new
HttpContext
introduced in Angular v12. - 5/13/21The HTTP examples now use the human-readable
HttpStatusCode
enum.
- Going to production
- 5/13/21The CLI uses the production configuration by default for
ng build
since v12, and the--prod
flag is deprecated.
- v11.2.02/12/21
- v11.1.01/21/21
- v11.0.011/12/20
- Internationalization
- 11/12/20
ng xi18n
has been renamedng extract-i18n
in CLI v11
- v10.2.010/22/20
- Internationalization
- 9/10/20
xi18N
now extracts messages from the$localize
calls in TypeScript code
- v10.1.09/3/20
- Testing your app
- 9/1/20
async
has been deprecated and renamedwaitForAsync
- Internationalization
- 7/1/20Import the global variants of the locale data. It's simpler, supports all formatting options, and doesn't trigger an optimization bailout warning when building the app with the CLI.
- v10.0.06/25/20
- Global
- 6/25/20Bump to ng
10.0.0
- The wonderful world of Web Components
- 6/17/20Use
customElements.define
instead of the deprecateddocument.registerElement
.
- Reactive Programming
- 6/5/20Pass an object as argument to the
Observable.subscribe()
method when an error or a completion must be handled, instead of 2 or 3 functions, because passing several functions will be deprecated in RxJS 7.
- v9.1.03/26/20
- Global
- 3/26/20Bump to ng
9.1.0
- From zero to something
- 3/26/20Bump to cli
9.1.0
- v9.0.02/7/20
- Global
- 2/7/20Bump to ng
9.0.0
- 2/6/20Bump to ng
9.0.0-next.5
- A gentle introduction to ECMAScript 2015+
- 8/2/19Add a section about tagged template strings.
- Diving into TypeScript
- 8/10/19Showcase interface usage for modeling entities
- 8/10/19Improve the
enum
section with examples of how to use union types
- Advanced TypeScript
- 8/10/19Introduce a new chapter about advanced TypeScript patterns, like
keyof
, mapped types, type guards, and other things!
- From zero to something
- 2/7/20Bump to cli
9.0.1
- 2/6/20Bump to cli
9.0.0-next.3
- 8/30/19Bump to cli
8.3.2
- 8/22/19Bump to cli
8.3.0
- Testing your app
- 2/6/20Use
TestBed.inject
instead of the deprecatedTestBed.get
in ng9.0.0
- Internationalization
- 2/7/20Explains how to configure the default currency code
- 2/7/20Introduce
@angular/localize
usage in ng9.0.0
- Going to production
- 2/7/20Mention the multiple configurations support introduced in CLI v9.0
- 2/7/20Explain the
fullTemplateTypeCheck
andstrictTemplates
options
- v8.2.08/1/19
- Global
- 8/1/19Bump to ng
8.2.0
- From zero to something
- 8/1/19Bump to cli
8.2.0
- Testing your app
- 7/31/19Use a more strictly typed
createSpyObj
syntax.
- v8.1.07/2/19
- Global
- 7/2/19Bump to ng
8.1.0
- The wonderful world of Web Components
- 6/1/19Mention more recent alternatives to Polymer, remove the dead HTML import spec and mention Angular Elements
- From zero to something
- 7/2/19Bump to cli
8.1.0
- v8.0.05/29/19
- Global
- 5/29/19Bump to ng
8.0.0
- A gentle introduction to ECMAScript 2015+
- 5/19/19How to use
async/await
with promises
- From zero to something
- 5/29/19Bump to cli
8.0.0
- 2/28/19Bump cli to
7.3.0
- Testing your app
- 5/20/19Showcase the awesome
ngx-speculoos
library for cleaner unit tests
- Forms
- 5/19/19Showcase the awesome
ngx-valdemort
library for better validation error messages
- Router
- 5/20/19Use
import
for lazy-loading routes as introduced by ng8.0.0
- Angular compiler
- 5/20/19Update the AoT explanation and generated code for Angular 8.0.0 (Ivy)
- Advanced components and directives
- 5/27/19Add and explain the
static
flag forViewChild
andContentChild
introduced by Angular8.0.0
- Going to production
- 5/20/19Differential loading using
browserslist
as introduced by the cli8.0.0
.
- v7.2.01/9/19
- Global
- 1/7/19Bump to ng
7.2.0
- 1/3/19Bump to ng
7.2.0-rc.0
- 12/14/18Bump to ng
7.2.0-beta.2
- From zero to something
- 1/9/19Bump to cli
7.2.0
- 1/7/19Bump to cli
7.2.0-rc.0
- 1/7/19Bump to cli
7.2.0-beta.2
- v7.1.011/27/18
- Global
- 11/22/18Bump to ng
7.1.0
- 11/20/18Bump to ng
7.1.0-rc.0
- 11/5/18Bump to ng
7.0.2
- From zero to something
- 11/27/18Bump to cli
7.1.0
- 11/5/18Bump to cli
7.0.4
- Router
- 11/22/18Use
UrlTree
inCanActivate
guard, as introduced by 7.1
- v7.0.010/25/18
- Global
- 10/18/18Bump to ng
7.0.0
- 10/18/18Bump to ng
7.0.0-rc.1
- 10/18/18Bump to ng
7.0.0-rc.0
- 10/18/18Bump to ng
7.0.0-beta.6
- 10/18/18Bump to ng
7.0.0-beta.4
- 10/18/18Bump to ng
7.0.0-beta.0
- From zero to something
- 10/24/18Bump to cli
7.0.2
- 10/18/18Bump to cli
7.0.1
- 9/7/18Bump to cli
6.2.1
- 9/7/18Bump to cli
6.2.0-rc.0
- Performances
- 8/30/18Adds a performances chapter!
- Going to production
- 10/25/18Adds a new chapter about Going to production!
- v6.1.07/26/18
- Global
- 7/26/18Bump to ng
6.1.0
- 7/26/18Bump to ng
6.1.0-rx.0
- 7/26/18Bump to ng
6.1.0-beta.1
- 7/6/18Bump to ng
6.0.7
- From zero to something
- 7/26/18Bump to cli
6.1.0
- 7/6/18Bump to cli
6.0.8
- 5/30/18Bump cli to
6.0.7
- Pipes
- 7/26/18Add the
keyvalue
pipe introduced in Angular 6.1 - 6/15/18Show usage of formatting functions available since Angular 6.0
- Styling components and encapsulation
- 7/26/18New
ShadowDom
encapsulation option with Shadow DOM v1 support (the old and soon deprecatedNative
option uses Shadow DOM v0)
- Send and receive data with Http
- 7/6/18HTTP tests now use
verify
every time
- Router
- 7/26/18Adds the
Scroll
event andscrollPositionRestoration
option introduced in 6.1
- Advanced observables
- 7/20/18Use
shareReplay
instead ofpublishReplay
andrefCount
- Internationalization
- 5/9/18Update for CLI 6.0 and use a dedicated configuration
- v6.0.05/4/18
- Global
- 5/4/18Bump to ng
6.0.0
- 4/13/18Bump to ng
6.0.0-rc.4
- 4/5/18Bump to ng
6.0.0-rc0
- 4/5/18Bump to ng
6.0.0-beta.7
- 4/5/18Bump to ng
6.0.0-beta.6
- 4/5/18Bump to ng
6.0.0-beta.1
- The wonderful world of Web Components
- 1/19/18Replace customelements.io by webcomponents.org
- From zero to something
- 5/4/18Bump to cli
6.0.0
- 3/19/18The chapter now uses Angular CLI from the start!
- Dependency Injection
- 4/15/18Use
providedIn
to register services, as recommended for Angular 6.0 - 3/19/18Updates the dependency injection via token section with a better example
- Reactive Programming
- 1/28/18We now use the pipeable operators introduced in RxJS 5.5
- Services
- 4/15/18Use
providedIn
to register the service, as recommended for Angular 6.0
- Testing your app
- 4/15/18Simplify service unit tests now that they use
providedIn
from ng 6.0
- Advanced components and directives
- 4/5/18Angular 6.0+ allows to type ElementRef<T>
- Advanced observables
- 4/5/18We now use the imports introduced in RxJS 6.0 (
import { Observable, of } from 'rxjs'
) - 1/28/18We now use the pipeable operators introduced with RxJS 5.5
- v5.2.01/10/18
- Global
- 1/10/18Bump to ng
5.2.0
- 12/7/17Bump to ng
5.1.0
- Building components and directives
- 12/13/17Better lifecycle explanation
- Forms
- 12/13/17Reintroduce the
min
andmax
validators from version 4.2.0, even if they are not available as directives.
- Send and receive data with Http
- 12/8/17Remove remaining mentions to the deprecated
HttpModule
andHttp
- v5.0.011/2/17
- Global
- 11/2/17Bump to ng
5.0.0
- 11/2/17Bump to ng
5.0.0-rc.5
- 11/2/17Bump to ng
5.0.0-rc.3
- 11/2/17Bump to ng
5.0.0-rc.2
- 11/2/17Bump to ng
5.0.0-rc.0
- 11/2/17Bump to ng
5.0.0-beta.6
- 11/2/17Bump to ng
5.0.0-beta.5
- 11/2/17Bump to ng
5.0.0-beta.4
- 11/2/17Bump to ng
5.0.0-beta.1
- 9/16/17Bump to ng
4.4.1
- Pipes
- 11/2/17Use the new i18n pipes introduced in ng 5.0.0
- Forms
- 11/2/17Add a section on the
updateOn: 'blur'
option for controls and groups introduced in 5.0 - 9/1/17Remove the section about combining template-based and code-based approaches
- Send and receive data with Http
- 11/2/17Use object literals for headers and params for the new http client, introduced in 5.0.0
- Router
- 11/2/17Adds ng 5.0
ChildActivationStart
/ChildActivationEnd
to the router events
- Internationalization
- 11/2/17Remove deprecated i18n comment with ng 5.0.0
- 11/2/17Show how to load the locale data as required in ng 5.0.0 and uses the new i18n pipes
- 11/2/17Placeholders now displays the interpolation in translation files to help translators
- v4.3.07/16/17
- Global
- 7/16/17Bump to ng
4.3.0
- 6/17/17Bump to ng
4.2.3
- Forms
- 6/17/17Remove min/max validators mention, as they have been removed temporarily in ng 4.2.3
- Send and receive data with Http
- 7/16/17Updates the chapter to use the new
HttpClientModule
introduced in ng 4.3.0.
- Router
- 7/16/17List the new router events introduced in 4.3.0
- Advanced components and directives
- 6/29/17Add a section about
HostBinding
- 6/29/17Add a section about
HostListener
- 6/29/17New chapter on advanced components, with
ViewChild
,ContentChild
andng-content
!
- v4.2.06/9/17
- Global
- 6/9/17Bump to ng
4.2.0
- 4/28/17Bump to ng
4.1.0
- Forms
- 6/9/17Introduce the
min
andmax
validators from version 4.2.0
- Router
- 4/28/17New chapter on advanced router usage: protected routes with guards, nested routes, resolvers and lazy-loading!
- Angular compiler
- 5/2/17Adds a chapter about the Angular compiler and the differences between JiT and AoT.
- v4.0.03/24/17
- Global
- 3/24/17๐ Bump to stable release
4.0.0
๐ - 3/23/17Bump to
4.0.0-rc.6
- 3/23/17Bump to
4.0.0-rc.5
- 3/23/17Bump to
4.0.0-rc.4
- 3/23/17Bump to
4.0.0-rc.3
- 3/23/17Bump to
4.0.0-rc.1
- 3/23/17Bump to
4.0.0-beta.8
- 3/23/17Bump to ng
4.0.0-beta.7
and TS 2.1+ is now required - 3/23/17Bump to
4.0.0-beta.5
- 3/23/17Bump to
4.0.0-beta.0
- 3/22/17Each chapter now has a link to the corresponding exercise of our Pro Pack Chapters are slightly re-ordered to match the exercises order.
- The templating syntax
- 3/23/17Use
as
, introduced in 4.0.0, instead oflet
for variables in templates - 3/23/17The
template
tag is now deprecated in favor ofng-template
in 4.0 - 3/23/17Introduces the else syntax from version 4.0.0
- Dependency Injection
- 2/17/17Fix the Babel 6 config for dependency injection without TypeScript
- Pipes
- 3/23/17Introduce the
as
syntax to store aNgIf
orNgFor
result, which can be useful with some pipes likeslice
orasync
. - 3/23/17Adds
titlecase
pipe introduced in 4.0.0
- Services
- 3/23/17New
Meta
service in 4.0.0 to get/set meta tags
- Testing your app
- 3/23/17
overrideTemplate
has been added in 4.0.0
- Forms
- 3/23/17Introduce the
email
validator from version 4.0.0
- Send and receive data with Http
- 3/23/17Use
params
instead of the deprecatedsearch
in 4.0.0
- Router
- 3/23/17Use
paramMap
introduced in 4.0 instead ofparams
- Advanced observables
- 3/23/17Shows the
as
syntax introduced in 4.0.0 as an alternative for the mulitple async pipe subscriptions problem
- Internationalization
- 3/23/17Add a new chapter on internationalization (i18n)
- v2.4.41/25/17
- Global
- 1/25/17Bump to
2.4.4
- 1/13/17The big rename: "Angular 2" is now known as "Angular"
- 12/21/16Bump to
2.4.0
- Forms
- 1/9/17Fix the
NgModel
explanation - 12/1/16
Validators.compose()
is no longer necessary, we can apply several validators by just passing an array.
- v2.2.011/18/16
- Global
- 11/18/16Bump to
2.2.0
- 10/17/16Bump to
2.1.0
- 10/17/16Remove typings and use
npm install @types/...
- 10/1/16Use
const
instead oflet
and TypeScript type inference whenever possible - 9/24/16Bump to
2.0.1
- Testing your app
- 9/30/16Use
TestBed.get
instead ofinject
in tests
- Forms
- 11/18/16Add an async validator example
- 11/18/16Remove the useless (2.2+)
.control
in templates likeusername.control.hasError('required')
.
- Router
- 11/18/16
routerLinkActive
can be exported (2.2+). - 10/7/16We don't need to unsubscribe from the router params in the
ngOnDestroy
method.
- Advanced observables
- 11/3/16New chapter on Advanced Observables!
- v2.0.09/15/16
- Global
- 9/15/16๐ Bump to stable release
2.0.0
๐ - 9/14/16Bump to
rc.7
- 9/5/16Bump to
rc.6
- From zero to something
- 9/5/16Update the SystemJS config for
rc.6
and bump the RxJS version
- Pipes
- 9/5/16Remove the section about the replace pipe, removed in rc.6
- v2.0.0-rc.58/25/16
- Global
- 8/23/16Bump to
rc.5
- 7/8/16Bump to
rc.4
- 6/28/16Bump to
rc.3
- 6/16/16Bump to
rc.2
- 6/8/16Bump to
rc.1
- 6/8/16Code examples now follow the official style guide
- From zero to something
- 8/12/16Small introduction to NgModule when you start your app from scratch
- The templating syntax
- 6/16/16Replace the deprecated
ngSwitchWhen
withngSwitchCase
- Dependency Injection
- 8/15/16Introduce modules and their role in DI. Changed the example to use a custom service instead of Http.
- 6/9/16Remove deprecated
provide()
method and use{provide: ...}
instead
- Pipes
- 6/16/16Date pipe is now fixed in
rc.2
, no more problem with Intl API
- Styling components and encapsulation
- 6/8/16New chapter on styling components and the different encapsulation strategies!
- Services
- 8/21/16Add the service to the module's providers
- Testing your app
- 8/15/16Tests now use the TestBed API instead of the deprecated TestComponentBuilder one.
- 7/8/16Angular 2 does not provide Jasmine wrappers and custom matchers for unit tests in
rc.4
anymore
- Forms
- 8/22/16Forms now use the new form API (FormsModule and ReactiveFormsModule).
- 6/16/16Warn about forms module being rewritten (and deprecated)
- Send and receive data with Http
- 8/21/16Add the HttpModule import
- 6/16/16
http.post()
now autodetects the body type, removing the need of usingJSON.stringify
and setting theContentType
- Router
- 8/21/16Introduce RouterModule
- 7/8/16Update the router to the API v3!
- 6/16/16Warn about router module being rewritten (and deprecated)
- Changelog
- 7/25/16Mention free updates and web page for obtaining latest version
- v2.0.0-rc.05/6/16
- Global
- 5/3/16Bump to
rc.0
. All packages have changed! - 5/3/16Bump to
beta.17
- 4/16/16Bump to
beta.15
- 4/11/16Bump to
beta.14
- 3/19/16Bump to
beta.11
- 3/11/16Bump to
beta.9
- 3/10/16Bump to
beta.8
- 3/4/16Bump to
beta.7
- 3/4/16Display the Angular 2 version used in the intro and in the chapter "Zero to something".
- 3/4/16Bump to
beta.6
(beta.4
andbeta.5
were broken) - 3/4/16Bump to
beta.3
- 3/4/16Bump to
beta.2
- Diving into TypeScript
- 3/4/16Use
typings
instead oftsd
.
- The templating syntax
- 4/16/16
*ngFor
now also exports afirst
variable
- Dependency Injection
- 3/4/16Better explanation of hierarchical injectors
- Pipes
- 4/16/16A
replace
pipe has been introduced
- Reactive Programming
- 3/4/16Observables are not scheduled for ES7 anymore
- Building components and directives
- 3/4/16Explain how to remove the compilation warning when using
@Input
and a setter at the same time - 3/4/16Add an explanation on
isFirstChange
forngOnChanges
- Testing your app
- 5/3/16
injectAsync
is now deprecated and replaced byasync
- 3/4/16Add an example on how to test an event emitter
- Forms
- 4/16/16A pattern validator has been introduced to make sure that the input matches a regexp
- 3/4/16Add a mnemonic tip to rememeber the
[()]
syntax: the banana box! - 3/4/16Examples use
module.id
to have a relativetemplateUrl
- 3/4/16Fix error
ng-no-form
->ngNoForm
- 3/4/16Fix errors
(ngModel)
->(ngModelChange)
,is-old-enough
->isOldEnough
- Send and receive data with Http
- 3/4/16Use
JSON.stringify
before sending data with a POST - 3/4/16Add a mention to
JSONP_PROVIDERS
- Router
- 5/6/16Introduce the new router (previous one is deprecated), and how to use parameters in URLs!
- 3/4/16
RouterOutlet
inserts the template of the component just after itself and not inside itself
- Zones and the Angular magic
- 5/3/16New chapter! Let's talk about how Angular 2 works under the hood! First part is about how AngularJS 1.x used to work, and then we'll see how Angular 2 differs, and uses a new concept called zones.
- v2.0.0-alpha.471/15/16
- Global
- 1/15/16First public release of the ebook!