2

在带有组件的分支内部使用具有默认更改检测策略的组件是否可以接受,该组件使用 OnPush 更改检测策略定义?

让我们假设有 OnPush 组件,它具有一些组件层次结构,它们也是 OnPush。但是我们需要在这个层次结构的底部添加可重用的组件,例如显示当前时间。

为了使时间组件工作,我必须在其中使用 changeDetectionRef.markForCheck,它实际上强制 angular 检查该组件的所有祖先。

这样做是个好习惯吗?有什么可能的方法来避免它?

我知道我可以将我的更改时间逻辑移动到顶部组件,并传递当前时间值,但我不想这样做,因为这个组件是可重用的,我必须在几个地方复制这个逻辑,并且这也是从顶级组件到这个太大的方式。

4

0 回答 0