getWatchers function

This commit is contained in:
Daniel Herrero 2018-04-30 12:30:56 +02:00
parent 11b40ae046
commit 50011bff8e
1 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,22 @@
function getWatchers(root) {
root = angular.element(root || document.documentElement);
function getElemWatchers(element) {
let isolateWatchers = getWatchersFromScope(element.data().$isolateScope);
let scopeWatchers = getWatchersFromScope(element.data().$scope);
let watchers = scopeWatchers.concat(isolateWatchers);
angular.forEach(element.children(), childElement => {
watchers = watchers.concat(getElemWatchers(angular.element(childElement)));
});
return watchers;
}
function getWatchersFromScope(scope) {
if (scope)
return scope.$$watchers || [];
return [];
}
return getElemWatchers(root).length;
}
export default getWatchers;