title: Angular $watch not working?
body: <p>The code below only logs when the page is initially loaded. What's wrong?</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html ng-app&gt;
      &lt;head&gt;
          &lt;title&gt;Test&lt;/title&gt;
          &lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"&gt;&lt;/script&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;div ng-controller="PageController"&gt;
              &lt;p ng-bind="model.header"&gt;&lt;/p&gt;
              &lt;p&gt;Value: &lt;input ng-model="model.header" /&gt;&lt;/p&gt;
          &lt;/div&gt;
          &lt;script&gt;
              function PageController($scope) {
                  $scope.model = {};
                  $scope.model.header = 'Header';
  
                  $scope.onModelChange = function (newValue, oldValue, scope) {
                      console.log('model changed &gt; newValue: ' + newValue + ' &gt; oldValue: ' + oldValue);
                  };
  
                  $scope.$watch($scope.model, $scope.onModelChange, true);
              }
          &lt;/script&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>