Does ngFor directive re-render whole array on every mutation?
Let's say we have an array of items: items = [ { title: 'item 1'}, { title: 'item 2'}, /* ... */ ]; And there is a template that renders this array: <ul> <li *ngFor="let item of items">{{item.title}}</li> </ul> Wll angular2 rerender the whole array if I add/remove items via push / splice or will it only add/remove the markup for the corresponding items? If it does updates only, then is there any difference in mutation stategies -- should I prefer push/splice over array replacing? In other words, are these two approaches equivalent in term of rendering performance: /* 1: mutation */ this.items