title: Issue With Angular $scope.Watch
body: <p>I am having a scope.watch like below, in my link function of the directive</p>
  
  <pre><code>scope.$watch(function () {
  return scope.chartConfig;
  }, function (value) {
  console.log(value);
  }, true);
  </code></pre>
  
  <p>Its trowing the below error </p>
  
  <pre><code>angular.js:12221 TypeError: Illegal invocation
      at isArrayLike (angular.js:278)
      at forEach (angular.js:332)
      at copy (angular.js:913)
      at copy (angular.js:879)
      at putValue (angular.js:944)
      at copy (angular.js:926)
      at copy (angular.js:879)
      at putValue (angular.js:944)
      at copy (angular.js:926)
      at copy (angular.js:879)(anonymous function) @ angular.js:12221(anonymous function) @ angular.js:9055Scope.$digest @ angular.js:15574Scope.$apply @ angular.js:15824(anonymous function) @ angular.js:17580completeOutstandingRequest @ angular.js:5370(anonymous function) @ angular.js:5642
  angular.js:12221 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
  Watchers fired in the last 5 iterations: []
  http://errors.angularjs.org/1.4.0/$rootScope/infdig?p0=10&amp;p1=%5B%5D
      at angular.js:68
      at Scope.$digest (angular.js:15594)
      at Scope.$apply (angular.js:15824)
      at angular.js:17580
      at completeOutstandingRequest (angular.js:5370)
      at angular.js:5642(anonymous function) @ angular.js:12221(anonymous function) @ angular.js:9055Scope.$apply @ angular.js:15826(anonymous function) @ angular.js:17580completeOutstandingRequest @ angular.js:5370(anonymous function) @ angular.js:5642
  angular.js:68 Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
  Watchers fired in the last 5 iterations: []
  http://errors.angularjs.org/1.4.0/$rootScope/infdig?p0=10&amp;p1=%5B%5D
  </code></pre>
  
  <p>Please find the <a href="https://plnkr.co/edit/IXFYj5nHslfxKCZTlLoq?p=preview" rel="nofollow">plunker</a> link for the same </p>