让我们假设有一棵简单的树。它可以包含任何嵌套的深层结构。
更改树的一个节点会调用所有DOM更改(渲染),而不仅仅是发生动作的地方。我想知道是否有流行的方法可以改善渲染性能或必须遵循的指导原则?
例如,我知道在模板中嵌套循环是一种不好的方法。
Angular支持缓存吗?
答案 0 :(得分:2)
您可以在组件中使用ChangeDetectionStrategy。OnPush。
“默认”策略的意思是:您按下按钮,Angular开始更改检测周期以检查整个页面中的更改(并在出现某些更改时将其重新呈现)。
“ OnPush”策略意味着:按下按钮,Angular仅检测依赖于按钮和事件的组件中的更改。
import { ChangeDetectionStrategy } from '@angular/core';
...
@Component({
...,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class MyComponent {
...
}