Files
Disable-When-Hidden/example/main.js
T
2015-03-08 17:47:34 +01:00

50 lines
1.2 KiB
JavaScript

(function() {
'use strict';
var app = angular.module('app', []);
app.controller('listCtrl', function() {
var arr = [];
for (var i=0; i<1000; i++) {
arr[i] = {
title: 'Element ' + i.toString()
}
}
this.array = arr;
this.countWatchers = function() {
var root = angular.element(document.getElementsByTagName('body'));
var watchers = [];
var f = function (element) {
angular.forEach(['$scope', '$isolateScope'], function (scopeProperty) {
if (element.data() && element.data().hasOwnProperty(scopeProperty)) {
angular.forEach(element.data()[scopeProperty].$$watchers, function (watcher) {
watchers.push(watcher);
});
}
});
angular.forEach(element.children(), function (childElement) {
f(angular.element(childElement));
});
};
f(root);
// Remove duplicate watchers
var watchersWithoutDuplicates = [];
angular.forEach(watchers, function(item) {
if(watchersWithoutDuplicates.indexOf(item) < 0) {
watchersWithoutDuplicates.push(item);
}
});
console.log(watchersWithoutDuplicates.length);
}
});
})();