在 Angular IVY 应用程序中触发更改检测

Trigger change detection in Angular IVY application

在IVY之前,我们可以像这样触发变化检测,基于所以回答:

ng.probe(getAllAngularRootElements()[0]).injector.get(ng.coreTokens.ApplicationRef).tick()

现在的问题是,我们如何在 Ivy 中实现这一点?

当 运行 在开发模式下,并在控制台中输入 ng 时显示:

但我不确定如何使用它来检测根元素的变化?

解决方法

通过在给定组件中注入 ChangeDetectorRef,我可以执行以下操作(其中 $0 是之前在开发工具中选择的元素):

ng.getComponent([=12=]).changeDetectorRef.detectChanges()

但这不是针对根组件的吗?

您可以拨打

ng.markDirty([=10=])

其中 $0 是 devtools 面板中的选定元素。

在 v9 中是 applyChanges 方法。