title: How to watch all changes on a Scope in AngularJS?
body: <p>Angular's $watch function allows events to be fired when the specified attribute changes, as shown below. Is there is a similar way to listen for events when <em>any</em> change happens on the scope?</p>
  
  <pre><code>// works
  $scope.$watch("someval", function() { }, true);
  $scope.$watch(function(scope){ return scope.someval; }, function() { }, true);
  
  // doesn't work
  $scope.$watch("this", function() { }, true);
  $scope.$watch(function(scope){ return scope; }, function() { }, true);
  </code></pre>