I have an array of objects (arr
). In one of my component's inputs, in the (change)
method, I modify the attribute of one of the objects but in the view (*ngFor
) nothing changes. I read that Angular’s change detection doesn't check the contents of arrays or objects, so I’ve tried these:
this.arr = this.arr.slice();
this.arr = [...this.arr];
But the view doesn't change, it still shows the old attribute. In the (change)
method with console.log()
I got the correct array. Weird, but this one works: this.arr = [];
(I’ve tried NgZone
and markForCheck()
too.)