Я не могу понять, что я должен вернуть из trackBy
. Основываясь на примерах, которые я видел в Интернете, я должен вернуть значение некоторого свойства на объект. Правильно ли это? Почему я получаю индекс в качестве параметра?
Например, в следующем случае:
constructor() {
window.setInterval(() => this.users = [
{name: 'user1', score: Math.random()},
{name: 'user2', score: Math.random()}],
1000);
}
userByName(index, user) {
return user.name;
}
...
<div *ngFor="let user of users; trackBy:userByName">{{user.name}} -> {{user.score}}</div>
Объекты, показанные в шаблоне, все еще обновляются, несмотря на то, что имя не изменилось. Зачем?