title: $watch is not detecting changes to length of an array when called from inside a directive
body: <p>So, I'm creating a threaded discussion forum. I'd like to add a badge to notify when a thread contains new comments. Here's my code, which is applied to posts which contain comments. It is inside a directive, which also contains a compile, if that may be causing the problem?:</p>
  
  <pre><code>if($scope.post.child_posts){
      var scope = $scope;
      scope.$watch(function(){
          return scope.post.child_posts.length;
      }, 
      function(newValue, oldValue){
          console.log(newValue, oldValue);
      }, true);
  };
  </code></pre>
  
  <p>This is working to output the number of replies for each level of the thread; however, the newValue and oldValue are always the same! When I refresh the page, it updates the numbers, but they are still the same. I've done some searching, and it looks like there was a bug where the newValue and oldValue were the same, but it appears to have been fixed, and I'm using the latest version.</p>
  
  <p>I'm pretty new to programming, so I appreciate the help. </p>