title: Angular.js $watch - a string will propagate successfully but a variable won't
body: <p>I have the following view in my code:</p>
  
  <pre><code>&lt;div data-ng-controller="HelloCtrl"&gt;
      {{counties.selected}}
  &lt;/div&gt;   
  </code></pre>
  
  <p>This piece of code will update the html successfully (when <code>$scope.counties.selected</code> is set to a string:</p>
  
  <pre><code>$scope.$watch('counties.selected', function(newValue, oldValue) {
     $scope.counties.selected = 'string';
  });
  </code></pre>
  
  <p>However, the html doesn't update when <code>$scope.counties.selected</code> is set to a variable as below. <code>console.log(newValue);</code> show that newValue has the expected value set:</p>
  
  <pre><code>$scope.$watch('counties.selected', function(newValue, oldValue) {
     console.log(newValue);
     $scope.counties.selected = newValue;
  </code></pre>
  
  <p>});</p>
  
  <p>Why doesn't <code>newValue</code> propagate to the html?</p>