Is it possible to detect change in a variable?
I have the following:
@Input('name') name: string;
I would like to call a function whenever change is happened in this variable 'name'.
Is it possible?
Is it possible to detect change in a variable?
I have the following:
@Input('name') name: string;
I would like to call a function whenever change is happened in this variable 'name'.
Is it possible?
You can do it the following:
private _name = '';
@Input('name')
set name(name: string) {
this._name = name;
doSomeStuff();
}
get name(): string { return this._name; }
I am solve this question using default Angular feature named OnChanges, very similar to OnInit.
https://mcmap.net/q/901328/-variable-change-detection-angular
OnChanges
is not triggered if change is made outside of the views. A good explanation is here: medium.com/@isaacplmann/… From this point of view, I would say the get / set solution in blog above or by @Am is better, but I don't like the use of private variable. –
Mollusc © 2022 - 2024 — McMap. All rights reserved.