Angular提供了两种组件变更检测策略:默认的
而且onPush
.
默认的
Angular会检查你的组件是否需要刷新每次浏览器中发生一些事情.Zone.js会在DOM事件发生(有人点击了一个按钮)或事件发生时通知Angular,从而触发这种更改检测setTimeout
完成,或者HTTP请求完成。
换句话说,每当回调函数在浏览器中运行时,Angular都会检查我们的组件是否需要用新数据重新渲染。
与onPush
,变化检测行为发生变化。onPush
指示我们的组件仅依赖于输入显示数据(换句话说,它是一个表示组件)并且DOM事件或HTTP请求不会影响该组件的HTML呈现。
因此,您可以使用onPush
来提高表示组件的性能,这是遵循表示与容器组件接近昨天覆盖。的这里的官方文档详细介绍了变更检测策略.