Angular 4仅添加新元素以便在不重新渲染旧项目的情况下查看

时间:2017-06-12 08:51:13

标签: angular

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

1 个答案:

答案 0 :(得分:1)

我终于想出了如何让它发挥作用。

*ngFor现在看起来像这样:*ngFor="let pi of pis; trackBy: trackByMac;"

trackByMaccomponent class中的一个简单函数,其内容如下:

trackByMac(index, item){
return item.mac;}