在 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
方法。
在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
方法。