我有一个简单的trackBy语句,它在ng9之前是没有问题的。
<div *ngFor="let s of skills; trackBy: s?.id">
<app-skill [skill]="s"></app-skill>
</div>现在,使用模板类型检查,编译器抱怨:'SkillsListComponent‘类型上不存在属性's’--这是正确的--因为它是内联定义为表达式的。当代码运行时,此编译错误也不是显示停止.只是想有一个整洁的代码库。有人知道如何用ng9友好的方式来写这个吗?
发布于 2020-02-08 11:07:24
根据文档,您可以在trackBy中调用一个方法
因此,可以定义返回id的方法。
trackByItems(index: number, skill: {id: number}): number {
return skill.id;
}我这样指定了类型,因为我不知道您使用的是哪种类型
在HTML中只需调用它
<div *ngFor="let s of skills; trackBy: trackByItems">
<app-skill [skill]="s"></app-skill>
</div>https://stackoverflow.com/questions/60125889
复制相似问题