gpt4 book ai didi

angular - 我是否应该始终使用 ChangeDetectionStrategy.OnPush

转载 作者:太空狗 更新时间:2023-10-29 17:37:34 25 4
gpt4 key购买 nike

我是否应该始终在我的组件中使用 ChangeDetectionStrategy.OnPush

我总是听说 OnPush 非常棒,它解决了很多问题,加快了 Angular 应用程序的速度,甚至摆脱了 NgZone。但如果是,为什么不使用 ng g 组件 默认生成它?

如果它如此神奇,那我们是否应该一直使用它?

最佳答案

如果您正在处理非常大的项目,建议使用 OnPush 策略来减少变更检测过程,因为这是一项非常昂贵的操作。

有很多方法可以在需要时启动检测,可能最常用的是从 ChangeDetectorRef 手动触发 changeDetection()

如果你有一个继承的项目,你想使用OnPush策略,建议从叶子组件开始应用它,检查一切是否仍然有效,然后跟随祖先和一次上一级到根。最终整体性能将受益。

Here there is a very good article about change detection in Angular .

如果您希望新生成的组件自动添加OnPush 策略,您只需在schematics 的angular.json 中添加该选项 节点,例如:

...

"schematics": {
"@schematics/angular:component": {
"changeDetection": "OnPush",
"prefix": "app",
"styleext": "scss"
},
"@schematics/angular:directive": {
"prefix": "app"
}
}
...

关于angular - 我是否应该始终使用 ChangeDetectionStrategy.OnPush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52979543/

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