That's "as designed"
ngOnChanges()
is only called when change detection updates a binding to an @Input()
. If the input is changed imperatively from somewhere then it isn't called.
Just make names
a getter/setter for code to be executed every time when the property is updated.