Component lifecycle hooks overview
Directive and component instances have a lifecycle which determines how Angular creates, updates, and destroys them.
Each interface has a single hook method whose name is the interface name prefixed with ng. For example, the OnInit interface has a hook method named ngOnInit() that Angular calls shortly after creating the component:
TypeScript Code :
export class PeekABoo implements OnInit {
constructor(private logger: LoggerService) { }
// implement OnInit's `ngOnInit` method
ngOnInit() { this.logIt(`OnInit`); }
logIt(msg: string) {
this.logger.log(`#${nextId++} ${msg}`);
}
}
No directive or component will implement all the lifecycle hooks. Angular only calls a directive/component hook method if it is defined.
Lifecycle sequence
After creating a component/directive by calling its constructor, Angular calls the lifecycle hook methods in the following sequence at specific moments:
Hook | Purpose and Timing |
---|---|
.ngOnChanges() | Respond when Angular (re)sets data-bound input properties. |
.ngOnInit() | Initialize the directive/component after Angular first displays the data-bound properties |
ngDoCheck() | Detect and act upon changes that Angular can't or won't detect on its own. Called during every change detection run, immediately after ngOnChanges()and ngOnInit(). |
ngAfterContentInit() | Respond after Angular projects external content into the component's view / the view that a directive is in. Called once after the first ngDoCheck(). |
ngAfterContentChecked() | Respond after Angular checks the content projected into the directive/component. Called after the ngAfterContentInit() and every subsequent ngDoCheck(). |
ngAfterViewInit() | Respond after Angular initializes the component's views and child views / the view that a directive is in. Called once after the first ngAfterContentChecked(). |
ngAfterViewChecked() | Respond after Angular checks the component's views and child views / the view that a directive is in. Called after the ngAfterViewInit() and every subsequent ngAfterContentChecked().. |
ngOnDestroy() | Cleanup just before Angular destroys the directive/component. Unsubscribe Observables and |
Other Angular lifecycle hooks
Other Angular sub-systems may have their own lifecycle hooks apart from these component hooks.
3rd party libraries might implement their hooks as well in order to give developers more control over how these libraries are used.
Previous: Component Interactions
Next:
Component Styles
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/angular/component-lifecycle-hooks-overview.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics