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

时间:2017-06-30 04:23:44

标签: angular

在AngularJS中,我们能够通过获取类似

的ng-app元素来触发摘要周期
var scope = angular.element(element).scope(); 
scope.$apply(...); 

我已经全神贯注地寻找在Angular(4+)中执行此操作的解决方案,但只找到了在应用程序中工作的解决方案,如(Triggering Angular2 change detection manually)。我需要一些可以在控制台上运行的东西。

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

ng.probe($0).injector.view.root.ngModule.injector.get('ApplicationRef')

3 个答案:

答案 0 :(得分:15)

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

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

enter image description here

答案 1 :(得分:4)

解决方案1:
1.在开发工具元素选项卡中单击元素(要在其上触发更改检测) 2. ng.probe($0).injector.get(ng.coreTokens.ApplicationRef).tick()

解决方案2:触发特定组件更换检测器
1.在开发工具元素选项卡中单击元素(要在其上触发更改检测) 2. ng.probe($0).componentInstance.cdRef.detectChanges()

答案 2 :(得分:0)

@guati我遇到一些“无法加载模块”错误(角度7),该错误是由于路由中的某些更改而触发的,但是即使我还原了更改,该错误仍然存​​在(可能是未进行更改)检测到),所以我只是重新启动了开发服务器(再次为应用程序提供服务),它消失了。