Наступна відповідь повідомить вам про бездіяльність циклу $ digest, тобто про ефективність дайджесту, коли жоден з виразів годин не зміниться. Це корисно, якщо ваша програма здається млявою, навіть коли вигляд не змінюється. Більш складні ситуації див. У відповіді aet.
Введіть у консоль наступне:
angular.element(document).injector().invoke(function($rootScope) {
var a = performance.now();
$rootScope.$apply();
console.log(performance.now()-a);
})
Результат дасть вам тривалість циклу перетравлення в мілісекундах. Чим менше число, тим краще.
ПРИМІТКА:
Домі зазначив у коментарях:
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);
})