122

何から返せばいいのかよくわかりませんtrackBy。Web で見たいくつかの例に基づいて、オブジェクトのプロパティの値を返す必要があります。そうですか?indexパラメータとして取得する必要があるのはなぜですか?

たとえば、次の場合です。

Component.component.ts

constructor() {
    window.setInterval(() => this.users = [
            { name: 'user1', score: Math.random() },
            { name: 'user2', score: Math.random() }
        ],
        1000);
}

userByName(index, user) {
    return user.name;
}

Component.template.html

<div *ngFor="let user of users; trackBy:userByName">
  {{user.name}} -> {{user.score}}
</div>

このテンプレートに表示されているオブジェクトは、名前が変更されていないにもかかわらず更新されています。なんで?

4

5 に答える 5

-14

他に使用できる

*ngFor="a of array; index as i;"

[attr.data-target]="'#test' + i"

name="test{{i}}
于 2019-12-06T05:40:36.530 に答える