Triggering change detection manually in Angular

Try one of these:

  • ApplicationRef.tick() – similar to AngularJS’s $rootScope.$digest() — i.e., check the full component tree
  • NgZone.run(callback) – similar to $rootScope.$apply(callback) — i.e., evaluate the callback function inside the Angular zone. I think, but I’m not sure, that this ends up checking the full component tree after executing the callback function.
  • ChangeDetectorRef.detectChanges() – similar to $scope.$digest() — i.e., check only this component and its children

You can inject ApplicationRef, NgZone, or ChangeDetectorRef into your component.

Leave a Comment