What is ngAfterViewInit with Example – Angular ?
This tutorial guides you on what is ngAfterViewInit and why should we use ngAfterViewInit lifecycle hook in Angular.
What is ngAfterViewInit ?
ngAfterViewInit() is a callback method which will get called by Angular immediately after it has completed initialization of component’s view. It will be invoked only once when the view is instantiated.
And ngAfterViewInit() lifecycle hook will get called after the following lifecycle hooks get invoked.
- ngOnChanges() – Invoked after a bound input property changes.
- ngOnInit – Invoked once the component is initialized.
- ngDoCheck – Invoked after every change detection run
- ngAfterContentInit – Invoked after content (ng-content) has been projected into view.
- ngAfterContentChecked – Invoked every time after the projected content has been checked.
ngAfterViewInit(): void Parameters There are no parameters. Returns void
Why should we use ngAfterViewInit in Angular ?
AfterViewInit is a lifecycle hook that will be called after Angular has initialized component’s view completely. You can define an ngAfterViewInit() method in your component to handle any additional initialization tasks.
interface AfterViewInit { ngAfterViewInit(): void }
The following sneppet shows how to implement the above interface in your component to define your own content initialization method.
import { AfterViewInit, AfterContentInit, Component, DoCheck, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'; @Component({ selector: 'app-item-element', templateUrl: './item-element.component.html', styleUrls: ['./item-element.component.css'], }) export class ItemElementComponent implements OnInit, OnChanges, DoCheck, AfterContentInit, AfterViewInit{ @Input() itemElem : {type: string, title: string, desc: string, spec: string}; @Input() title : string; constructor() { console.log("constructor called....."); } ngOnChanges(changes: SimpleChanges) { console.log("ngOnChanges called....."); console.log(changes); } ngOnInit(): void { console.log("ngOnInit called....."); } ngDoCheck(){ console.log("ngDoCheck called....."); } ngAfterContentInit(){ console.log("ngAfterContentInit called....."); } ngAfterViewInit(){ console.log("ngAfterViewInit called....."); } }
Finally, when you inspect and go to console via Google chrome browser tools you can see the following logs in the console.
item-element.component.ts:35 constructor called..... item-element.component.ts:39 ngOnChanges called..... item-element.component.ts:44 ngOnInit called..... item-element.component.ts:48 ngDoCheck called..... item-element.component.ts:52 ngAfterContentInit called..... item-element.component.ts:56 ngAfterViewInit called..... item-element.component.ts:39
That’s it. You had learnt what is ngAfterViewInit lifecycle hook and when we should use ngAfterViewInit in Angular.
Hope it helped 🙂
Also See:
- Call ngOnInit() again from another function – Angular 9 ?
- ngOnChanges get new value and previous value – Angular
- Why do we need ngDoCheck lifecycle hook – Angular ?
- Global Angular CLI version is greater than your local version
- Upgrade Angular CLI to the latest version Angular 9 or 10 ?
- ViewEncapsulation modes and differences
- How to use new static option in ViewChild Angular 9 ?
- Project contents into angular components using ng-content
- Call ngOnInit() again from another function – Angular 9 ?
- ngAfterContentInit with Example – Angular
- How Angular Encapsulates Styles using ViewEncapsulation ?