Angular 2: Ignore first trigger of ngOnChanges?
You can use
https://angular.io/docs/ts/latest/api/core/index/SimpleChange-class.html#!#isFirstChange-anchor
if(changes['prop'].isFirstChange()) {
}
To add onto the previous answer and explain this a bit more...
changes
is an array of objects that have been changed. So if you have an input myInput
, you'll need to access that object within the changes array by doing changes['myInput']
. myInput
contains:
previousValue
- previous value of the object (before the change)currentValue
- current value of the object that has been changedfirstChange
- boolean on whether this is the first time there has been a change (note this will be true when the component intializes and false otherwise) -isFirstChange()
will return true if this is the first change.
Code:
//your input
@Input() myInput: any;
ngOnChanges(changes: any) {
//check if this isn't the first change of myInput
if(!changes['myInput'].isFirstChange()) {
//do something
}
}