Angular 4:
我使用角度service
进行api调用。请求的结果是带有条目的列表。以下是模板的代码 - (pis
)是http-request
提供的可迭代数组:
<tr *ngFor="let pi of pis;">
<td>{{pi.mac}}</td>
<td>{{pi.uptime | secondsReadable}}</td>
</tr>
api调用不仅执行一次。因此,当进行第二次Api呼叫时,所有元素都会获得rerendered
。
所以我认为可以使用mac来识别tablerow
,因为它是唯一的,只需要添加包含新mac-adresses
的条目。
经过一些谷歌搜索后,我认为track by
是我需要实现的功能。但我不知道如何实现它。我是angular
的新用户,因此我对旧版角度版本中track by
的不同实现感到有点困惑,无法为{{1}找到合适的示例}}
处理api调用的组件中的方法:
Angular 4.0
答案 0 :(得分:1)
我终于想出了如何让它发挥作用。
*ngFor
现在看起来像这样:*ngFor="let pi of pis; trackBy: trackByMac;"
。
而trackByMac
是component class
中的一个简单函数,其内容如下:
trackByMac(index, item){
return item.mac;}