gpt4 book ai didi

Angular *ngIf 内存使用

转载 作者:行者123 更新时间:2023-12-05 04:03:42 24 4
gpt4 key购买 nike

我的观察是否正确,即使 *ngIf 宿主元素不在 DOM 中,它也在内存/堆中。因此它正在创建宿主元素但不将其附加到 DOM。

我在上面是因为我有一个巨大的列表。每个列表元素中都有一些 *ngIfs。我看到很多分离节点和内存使用情况。当我删除未使用的 *ngIfs 时,我的内存和分离节点计数器会小得多。

如果是这样,最好的处理方法是什么?我需要在运行时决定元素是否有输入、文本、时间选择器字段等。

谢谢。

作为解决方案,如果有人有同样的问题: GitHub- ngIf keeps node in memory

最佳答案

我认为你弄错了,我们可以在 angular.io 文档中看到:

NgIf case study :

When the condition is false, NgIf removes its host element from the DOM, detaches it from DOM events (the attachments that it made), detaches the component from Angular change detection, and destroys it. The component and DOM nodes can be garbage-collected and free up memory.


Why remove rather than hide? :

Although invisible, the component—and all of its descendant components—tie up resources. The performance and memory burden can be substantial, responsiveness can degrade, and the user sees nothing.

关于Angular *ngIf 内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53470286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com