从控制台触发角度变化检测

Rya*_*yan 10 angular

在AngularJS中,我们能够通过获取类似的ng-app元素来触发摘要周期

var scope = angular.element(element).scope(); 
scope.$apply(...); 
Run Code Online (Sandbox Code Playgroud)

我已经查看了在Angular(4+)中执行此操作的解决方案,但只找到了在应用程序中工作的解决方案(手动触发Angular2更改检测).我需要一些可以在控制台上运行的东西.

我确定我做错了但是尝试在上述问题上应用答案却行不通.我试过很多变化:

ng.probe($0).injector.view.root.ngModule.injector.get('ApplicationRef')
Run Code Online (Sandbox Code Playgroud)

yur*_*zui 19

我通常在开发模式下执行以下操作

ng.probe(getAllAngularRootElements()[0]).injector.get(ng.coreTokens.ApplicationRef).tick()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Ilk*_*Cat 5

解决方案1:
1.在dev-tools Elements-Tab
2中单击要触发更改检测的元素。ng.probe($0).injector.get(ng.coreTokens.ApplicationRef).tick()

解决方案2:触发特定的组件变更检测器
1.单击dev-tools Elements-Tab
2中的元素(要在其上触发变更检测)。ng.probe($0).componentInstance.cdRef.detectChanges()

  • 对于解决方案 2:显然,要使用此*,您必须将 changeDetectorRef 注入到您的组件中,来自 @angular/core...(* cdRef 是本地声明的 changeDetectorRef 实例) (2认同)