Допустим, у нас есть массив элементов:
items = [
{ title: 'item 1'},
{ title: 'item 2'},
/* ... */
];
И есть шаблон, который отображает этот массив:
<ul>
<li *ngFor="let item of items">{{item.title}}</li>
</ul>
Будет ли angular2 повторно отображать весь массив, если я добавляю / удаляю элементы через _3 _ / _ 4_, или он будет только добавлять / удалять разметку для соответствующих элементов? Если он выполняет только обновления, то есть ли разница в состояниях мутации - я предпочитаю push / splice замене массива? Другими словами, эквивалентны ли эти два подхода с точки зрения производительности рендеринга:
/* 1: mutation */
this.items.push({ title: 'New Item' });
/* 2: replacement */
var newArray = this.items.slice();
newArray.push({ title: 'New Item' });
this.items = newArray;