我有一个问题,即有多个组件显示一行表。问题是当我scrooling页面时有一个巨大的fps下降。每个组件都从服务订阅数据数组。我不使用' ngDoCheck''但我仍然有一个fps下降:/。我使用chrome时间轴,我有很多事件(mousmove)。
可能是因为我有很多组件?我删除每个ngDoCheck,我观察当我将鼠标移到桌子上方时,任务管理器中的处理器大约使用50%。当我停止移动鼠标时它恢复正常
答案 0 :(得分:0)
在Angulars区域外注册事件处理程序应该有所帮助,直到修复相关问题:
constructor(zone:NgZone, elRef:ElementRef) {
zone.runOutsideAngular(() => elRef.nativeElement.addEventHandler('scroll',
(e) => {
if(some criteria) {
zone.run(() => {
// update model here
});
}
});
}
此外,表现手段仅在生产模式中有意义。
另见