我遇到了更新某些父对象的子组件并将其检测策略设置为OnPush的问题。
设置了一个演示问题的小型应用here on StackBlitz。
子组件中的某些动作通过事件发射器的输出传递到其OnPush父对象,后者又将另一个事件发送给“祖父母”。然后,祖父母或外祖父母会更新一些容器属性(容器ref保持不变)。
当我从OnPush组件内部执行此操作时,将重新渲染所有使用change属性的子级,在那里没有问题。
当我使用不在OnPush组件中的组件来执行此操作时,其子项不会更新,除非我在其中执行了某些操作(例如,在演示应用程序中单击“无用按钮”)。
问题:
现在,我在OnPush父级上设置了一个附加输入,该输入将属性本身作为另一个输入,子级使用该输入值作为输入。但这似乎不是处理此问题的正确方法。