It may not be possible to do what you want directly, but you can limit the impact of these digest cycles. Try placing <div ng-if="everythingLoaded"> on most of the page and set everythingLoaded to true after all your $http calls have completed.
For example:
var p1 = $http.get(...); var p2 = $http.get(...); Promises.all([p1, p2]).then(function() { $scope.everythingLoaded = true; });
The digest loop will still work, but it will be much faster, because ng-if will eliminate the effect on the DOM and most of your controller until the condition is true.
I am sure that the use of template caching will be solved for the problem of loading the template, assuming that this is still a problem in recent versions of angular.
Steve campbell
source share