In the documentation for AngularJS's $interval service, it is mentioned:
invokeApply (optional) boolean: If set to false, skips model dirty checking. Otherwise, will invoke the function within the $apply block.
This implies that setting invokeApply
as false would prevent $rootScope.$apply from being called.
However, after examining the source code of $interval, I discovered that deferred.notify
is invoked each tick. This makes sense. What doesn't make sense is that during deferred.notify
, $rootScope.$evalAsync
and subsequently, $rootScope.$digest
are triggered. Therefore, all the dirty checking still occurs. Am I overlooking something here?