用于对列表进行排序的异步管道,每次出现鼠标或键盘事件时都会调用 - Angular4

时间:2017-08-14 11:57:51

标签: angular angular2-changedetection angular2-pipe

<div *ngFor="let student of mystudentsFiltered  | orderBy : ['-presence', 'unreadcount']>

在上面的for模板中,我每次使用列表中的项目(学生)状态更改时,都会使用管道orderBy对列表进行排序。不知何故,每次有鼠标或键盘事件时都会重复调用此管道。

我研究了更多,发现每次有更改检测时,Angular4中的管道 已执行。 Angular4在变更检测机制中将以下内容视为:

1)活动 - 点击,提交,滚动,

2)XHR - 从远程服务器获取数据

3)计时器 - setTimeout(),setInterval()

如果有数据更改但是没有默认的更改检测事件,我如何限制调用所述管道?

1 个答案:

答案 0 :(得分:0)

您不应该使用订单管道或过滤管道。正如您自己经历的那样,这对性能不利。您可以阅读更多相关信息here。您需要在服务中进行排序

相关问题