Inside ngOnChange, SimpleChange currentValue is defined but console log saids undefined

2.6k Views Asked by At

Inside the typescript, there are a name variable takes input from another component.

@Input() name : any ; 

And inside the ngOnChange I print the SimpleChange object like this.

ngOnChanges(changes: SimpleChange){
    console.log(changes);
    console.log(changes.currentValue);
}

The result in the console is as followed. enter image description here

I don't understand why in console, it can tells there are string "Cafeteria Old Beach" for currentValue property. Yet when I console.log(changes.currentValue), it returns undefined. How can I properly access the currentValue property value? Thanks in advance.

1

There are 1 best solutions below

2
Gaurav Basnet On BEST ANSWER

it is because after the changes there should be prop, in your case you have made changes.currentValue. and also change SimpleChange to SimpleChanges Please try following.

import { SimpleChanges } from '@angular/core';
export class TestComponent {
 @Input() name : any ;
 
constructor(){}

ngOnChanges(changes: SimpleChanges){
    console.log(changes);
    console.log(changes.name.currentValue);
    console.log(changes.name.previousValue);

}

}