In Angular 1.x, ngInit is called when template is re-rendered. In other words “ng-init” is called, when I take turns back to a page.
In Angular2, there is no “ng-init” but we can create a ways like this using the directive and ngOnInit class. Angular 2 provides life cycle hook ngOnInit by default.
The ngOnInit is invoked when the component is initialized and invoked only once when the directive is instantiated. It is a best practice to implement these life-cycle interfaces.
Stayed Informed - 13 Best Advantages for Angular 2
Stayed Informed - 13 Best Advantages for Angular 2
According to Angular2 Doc, “The ngOnInit is called right after the directive's data-bound properties have been checked for the first time, and before any of its children have been checked. It is invoked only once when the directive is instantiated.”
import { Directive, Input } from '@angular/core';
@Directive({
selector: '[ngInit]'
})
class NgInit {
@Input() ngInit;
ngOnInit() {
if(this.ngInit) { this.ngInit(); }
}
}
In template as following,
*ngIf="Timer.dateTime === currentDateTime">*ngIf="Timer.checked" [ngInit]="Start">*ngIf="!Timer.checked" [ngInit]="Stop">
I hope you are enjoying with this post! Please share with you friends!! Thank you!!!