다음 답변은 $ digest 루프 의 유휴 성능, 즉 시계 표현식이 변경되지 않을 때의 다이제스트 성능을 알려줍니다. 보기가 변경되지 않는 경우에도 애플리케이션이 느리게 보이는 경우 유용합니다. 더 복잡한 상황은 aet의 답변을 참조하십시오.
콘솔에 다음을 입력하십시오.
angular.element(document).injector().invoke(function($rootScope) {
var a = performance.now();
$rootScope.$apply();
console.log(performance.now()-a);
})
결과는 다이제스트주기의 기간을 밀리 초 단위로 제공합니다. 숫자가 작을수록 좋습니다.
노트:
Domi는 주석에서 다음과 같이 언급했습니다
. 초기화를 angular.element(document)
위해 ng-app
지시문을 사용하면 많은 결과를 얻지 못합니다 . 이 경우 ng-app
대신 요소를 가져 오십시오 . 예를 들어angular.element('#ng-app')
다음을 시도 할 수도 있습니다.
angular.element(document.querySelector('[ng-app]')).injector().invoke(function($rootScope) {
var a = performance.now();
$rootScope.$apply();
console.log(performance.now()-a);
})