Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getWatchers(root) {
- root = angular.element(root || document.documentElement);
- var watcherCount = 0;
- function getElemWatchers(element) {
- var isolateWatchers = getWatchersFromScope(element.data().$isolateScope);
- var scopeWatchers = getWatchersFromScope(element.data().$scope);
- var watchers = scopeWatchers.concat(isolateWatchers);
- angular.forEach(element.children(), function (childElement) {
- watchers = watchers.concat(getElemWatchers(angular.element(childElement)));
- });
- return watchers;
- }
- function getWatchersFromScope(scope) {
- if (scope) {
- return scope.$$watchers || [];
- } else {
- return [];
- }
- }
- function getWatcherExpressions (element) {
- var watchers = getElemWatchers(element);
- var watchlist = {
- '_total': watchers.length
- };
- angular.forEach(watchers, function (watcher) {
- watchlist[watcher.exp] = watchlist[watcher.exp] || [];
- watchlist[watcher.exp].push(watcher);
- });
- return watchlist;
- }
- return getWatcherExpressions(root);
- }
- getWatchers()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement