首页 > 解决方案 > 角度 onpush 组件仅在模板内使用异步管道重新渲染

问题描述

我有我的ChangeDetectionStrategy.OnPush战略组成部分。

async当数据更改组件拒绝重新呈现时,我通过管道从父级传递数据。

当我async在父传递 obvservable 中使用管道而不是async在子模板中使用管道时,会正确调用重新渲染。

任何人都知道为什么会发生这种情况(角度v9)?我想这与zone.js触发更改检测有关,但为什么在哪里?我没有任何线索 :(

标签: javascriptangularangular2-changedetection

解决方案


这就是为什么

https://github.com/angular/angular/blob/master/packages/common/src/pipes/async_pipe.ts#L146

使用异步管道重新呈现视图。


推荐阅读